list — присваивает переменным из списка значения подобно массиву.
Подобно array(), это не функция, а языковая конструкция. list() используется для того, чтобы присвоить списку переменных значения за одну операцию.
list() работает только с индексированными массивами и принимает числовые индексы начиная с 0.
Внимание
В PHP 5 list() присваивает значения начиная с самого правого. В PHP 7 list() - с самого левого.
Если вы используете обычные переменные, можете не думать об этом, но, если вы используете массивы с индексами, вы ожидаете, что порядок элементов в массиве будет ровно таким, как вы его определили в list(), слева направо, но в PHP 5 вы получите обратный порядок.
Пример.
Допустим, у нас есть функция, которая возвращает индексированный массив. Присвоим его элементы переменным. Теперь, чтобы получить элемент массива, мы моем обратиться к переменным.
function nums() {
return [1, 2, 3];
}
list($one, $two, $three) = nums();
echo $two; // 2
// Можно написать и так:
$arr = nums()[1];
echo $arr; // 2
Подобно array(), это не функция, а языковая конструкция. list() используется для того, чтобы присвоить списку переменных значения за одну операцию.
list() работает только с индексированными массивами и принимает числовые индексы начиная с 0.
Внимание
В PHP 5 list() присваивает значения начиная с самого правого. В PHP 7 list() - с самого левого.
Если вы используете обычные переменные, можете не думать об этом, но, если вы используете массивы с индексами, вы ожидаете, что порядок элементов в массиве будет ровно таким, как вы его определили в list(), слева направо, но в PHP 5 вы получите обратный порядок.
Пример.
Допустим, у нас есть функция, которая возвращает индексированный массив. Присвоим его элементы переменным. Теперь, чтобы получить элемент массива, мы моем обратиться к переменным.
function nums() {
return [1, 2, 3];
}
list($one, $two, $three) = nums();
echo $two; // 2
// Можно написать и так:
$arr = nums()[1];
echo $arr; // 2
Комментариев нет:
Отправить комментарий