|
(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.htm?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(). | |