list
(PHP 3, PHP 4, PHP 5 )
list --
Tildeler værdier til variabler, som om de var et array
Beskrivelse
void
list ( mixed varname, mixed ... )
Denne funktion, er lige som array(), ikke nogen rigtig
funktion men en såkaldt language construc. Altså en indbygget funktion.
list() kan bruges til at sætte en liste af variabler på
en gang.
Bemærk:
list() virker kun ved arrays som har nøgler
der består af numre og som starter ved 0.
Eksempel 1. list() eksempel
<?php
$info = array('coffee', 'brown', 'caffeine');
// Lister alle variabler list($drink, $color, $power) = $info; echo "$drink is $color and $power makes it special.\n";
// Lister nogen af dem list($drink, , $power) = $info; echo "$drink has $power.\n";
// eller lade os springe til den tredje list( , , $power) = $info; echo "I need $power!\n";
?>
|
|
Eksempel 2. Et eksempel på brug af 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>
|
|
Advarsel |
list() tildeler værdier startende fra værdien længst
mod højre. Hvis funktionen kun bruges til normale variabler, vil det
ikke have nogen betydning. Men hvis du bruger arrays, vil du normalt
forvente at de bliver sat i samme rækkefølge som du skriver dem i
list() fra venstre mod højre; men det bliver de ikke.
De bliver sat i omvendt rækkefølge.
|
Eksempel 3. Brug af list() til arrays
<?php
$info = array('coffee', 'brown', 'caffeine');
list($a[0], $a[1], $a[2]) = $info;
var_dump($a);
?>
|
Dette giver følgende resultat (bemærk rækkefølgen af elementer i forhold
til den måde de er skrevet i list() funktionen):
array(3) {
[2]=>
string(8) "caffeine"
[1]=>
string(5) "brown"
[0]=>
string(6) "coffee"
} |
|
Se også each(), array()
og extract().