(PHP 4, PHP 5)
list — Присваивает переменным из списка значения подобно массиву.
Описание
void list ( mixed $varname , mixed $… )
Подобно array(), это не функция, а языковая конструкция. list() используется для того, чтобы присвоить списку переменных значения за одну операцию.
Замечание: list() работает только с массивами, индексами которых являются числа, и нумерация которых начинается с 0.
Пример #1 Примеры использования list()
<?php $info = array('coffee', 'brown', 'caffeine'); // Составить список всех переменных list($drink, $color, $power) = $info; echo "$drink is $color and $power makes it special."; // Составить список только некоторых из них list($drink, , $power) = $info; echo "$drink has $power."; // Или только третья list( , , $power) = $info; echo "I need $power!"; ?>
Пример #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> <td><a href=\"info.php?id=$id\">$name</a></td> <td>$salary</td> </tr>"; } ?> </table>
Внимание
list() присваивает значения начиная с крайнего правого параметра. Если вы используете простые переменные, можете не беспокоиться об этом. Но если вы используете индексные массивы, вы можете ожидать, что в результате выполнения функции list() вы получите тот же порядок элементов, что и в исходном массиве: слева направо; однако это не так. Они будут присвоены в обратном порядке.
Пример #3 Использование 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" }