 |
(unknown) list
- присваивает значения переменным, как если бы они были массивом. Описаниеvoid
list (mixed ...) Как и array(), это
в действительности не функция, а конструкция языка. list() используется
для присвоения списку переменных за одну операцию. Примечание:
list() работает только с числовыми массивами и принимает, что числовые
индексы начинаются с 0.
Пример
1. list()<?php
$info = array('coffee', 'brown', 'caffeine'); // Листинг всех переменных list($drink,
$color, $power) = $info; print "$drink is $color and $power makes it special.\n";
// Листинг некоторых из них list($drink, , $power) = $info; print "$drink has
$power.\n"; // Или пропустим все, кроме третьей list( , , $power) = $info; print
"I need $power!\n"; ?> |
|
Пример 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)) { print (" <tr>\n". " <td><a
href=\"info.php?id=$id\">$name</a></td>\n". " <td>$salary</td>\n".
" </tr>\n"); } ?> </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" } |
См. также each(),
array() и extract(). |  |