list
(PHP 3, 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"
} |
|
См. также each(), array()
и extract().