top

Описание функции list



list


(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=
http://heel.org.ua/\"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() .
corner
My pencil ;)
Главная     Сервисы     Портфолио     Проги     Видео     Контакты     Ссылки     Текст