list
(PHP 3, PHP 4, PHP 5)
list --
Wijs variabelen toe alsof zij een array zijn
Beschrijving
void
list ( mixed varname, mixed ... )
Net als array() is dit niet echt een functie,
maar een language construct. list() wordt gebruikt
voor het toewijzen van een lijst van variabelen in een enkele handeling.
Opmerking:
list() werkt alleen op numerieke arrays en neemt
aan dat numerieke indices beginnen bij 0.
Voorbeeld 1. list() voorbeelden
<?php
$info = array('coffee', 'brown', 'caffeine');
// Wijs alle variabelen toe list($drink, $color, $power) = $info; echo "$drink is $color and $power makes it special.\n";
// Wijs enkele variabelen toe list($drink, , $power) = $info; echo "$drink has $power.\n";
// Wijs alleen de derde variabele toe list( , , $power) = $info; echo "I need $power!\n";
?>
|
|
Voorbeeld 2. Een gebruiksvoorbeeld van list()
<table> <tr> <th>Employee name</th> <th>Salary</th> </tr>
<?php
$result = mysql_query("SELECT id, name, salary FROM employees", $conn); while (list($id, $name, $salary) = mysql_fetch_row($result)) { echo " <tr>\n" . " <td><a href=\"info.php?id=$id\">$name</a></td>\n" . " <td>$salary</td>\n" . " </tr>\n"; }
?>
</table>
|
|
Waarschuwing |
list() wijst de waarden toe beginnende bij de
meest rechtse parameter. Wanneer je normale variabelen gebruikt, hoef
je hier geen rekening mee te houden. Echter, wanneer je arrays gebruikt
met indices, dan zou je gewoonlijk verwachten dat de volgorde van de
indices in de array gelijk is aan de volgorde waarin je het beschreef
in list() van links naar rechts, wat niet het geval
is. De toewijzing gebeurt in omgekeerde volgorde.
|
Voorbeeld 3. list() gebruiken met array indices
<?php
$info = array('coffee', 'brown', 'caffeine');
list($a[0], $a[1], $a[2]) = $info;
var_dump($a);
?>
|
Geeft het volgende resultaat (let op de volgorde van de elementen in
vergelijking tot de volgorde waarin zij waren geschreven in de
list() syntax):
array(3) {
[2]=>
string(8) "caffeine"
[1]=>
string(5) "brown"
[0]=>
string(6) "coffee"
} |
|
Zie ook each(), array()
en extract().