(PHP 4, PHP 5)
list — Установява променливи от списък със стойности, както при масивите
Също като array(), това не е точно функция, а езикова конструкция. list() се използва, за да се присвоят стойности на променливи чрез една операция.
Променливата.
Няма връщана стойност.
Example #1 Примери за list()
<?php
$info = array('coffee', 'brown', 'caffeine');
// Съставя списък на всички променливи
list($drink, $color, $power) = $info;
echo "$drink is $color and $power makes it special.\n";
// Съставя списък на някои от променливите
list($drink, , $power) = $info;
echo "$drink has $power.\n";
// Или задава само третата
list( , , $power) = $info;
echo "I need $power!\n";
// list() не работи с низове
list($bar) = "abcde";
var_dump($bar); // NULL
?>
Example #2 Примерна употреба на 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>
Example #3 Употреба на вложена функция list()
<?php
list($a, list($b, $c)) = array(1, array(2, 3));
var_dump($a, $b, $c);
?>
int(1) int(2) int(3)
Example #4 Употреба на list() с индекси на масив
<?php
$info = array('coffee', 'brown', 'caffeine');
list($a[0], $a[1], $a[2]) = $info;
var_dump($a);
?>
Има следния изход (забележете реда на елементите и реда, в който са предадени на list()):
array(3) { [2]=> string(8) "caffeine" [1]=> string(5) "brown" [0]=> string(6) "coffee" }
list() присвоява стойностите, като започва от най-десния параметър. Ако използвате обикновени променливи, това не бива да ви тревожи. Ако обаче използвате масиви с индекси, обикновено се очаква редът на индексите в масива да е същия, зададен в list() - от ляво на дясно; но не е така. Присвояването се извършва в обратен ред.
Забележка: list() работи само при масиви с цифрови индекси и приема, че индексите започват от 0.