Google

NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.7">

list

(PHP 3, PHP 4 )

list --  Weist Variablen zu, als wären sie ein Array

Beschreibung

void list ( mixed ...)

Wie array() ist auch dies keine wirkliche Funktion, sondern ein Sprachkonstrukt. list() wird verwendet, um eine Liste von Variablen innerhalb einer Operation zuzuweisen.

Anmerkung: list() funktioniert nur bei numerischen Arrays und basiert auf der Annahme, dass die numerischen Indizes bei 0 beginnen.

Beispiel 1. list()

<?php

$info = array('coffee', 'brown', 'caffeine');

// Auflisten aller Variablen
list($drink, $color, $power) = $info;
print "$drink is $color and $power makes it special.\n";

// Ein paar davon auflisten
list($drink, , $power) = $info;
print "$drink has $power.\n";

// Oder nur die dritte ausgeben
list( , , $power) = $info;
print "I need $power!\n";

?>

Beispiel 2. list()

<table>
 <tr>
  <th>Mitarbeitername</th>
  <th>Gehalt</th>
 </tr>

<?php

$result = mysql_query ("SELECT id, name, salary FROM employees",$conn);
while (list ($id, $name, $salary) = mysql_fetch_row ($result)) {
    print (" <tr>\n".
           "  <td><a href=\"info.php?id=$id\">$name</a></td>\n".
           "  <td>$salary</td>\n".
           " </tr>\n");
}

?>

</table>

Warnung

list() weist die Werte von rechts beginnend zu. Wenn Sie einfache Variablen benutzen, brauchen Sie sich nicht darum zu kümmern. Wenn Sie jedoch Arrays mit Indizes verwenden, erwarten Sie gewöhnlich die Reihenfolge der Indizes in dem Array genau so, wie Sie sie in list() geschrieben haben (von links nach rechts), was jedoch nicht der Fall ist. Es wird in der umgekehrten Reihenfolge zugewiesen.

Beispiel 3. list() mit Array Indizes verwenden

<?php

$info = array('coffee', 'brown', 'caffeine');

list($a[0], $a[1], $a[2]) = $info;

var_dump($a);

?>
Die Ausgabe (Beachten Sie die Reihenfolge der Elemente, verglichen mit der in list() eingetragenen Reihenfolge):
array(3) {
  [2]=>
  string(8) "caffeine"
  [1]=>
  string(5) "brown"
  [0]=>
  string(6) "coffee"
}

Siehe auch each(), array() und extract().