list Присваивает переменным значения похожим на массивы синтаксисом &reftitle.description; arraylist mixedvar mixedvars Как и конструкция array, это не функция, а языковая конструкция. Конструкцией list пользуются, чтобы присваивать списку переменных значения за одну операцию. Строки нельзя распаковать, а выражения list нельзя вызывать без аргументов. До PHP 7.1.0 конструкция list работала только с индексированными массивами и принимала числовые индексы начиная с 0. &reftitle.parameters; var Переменная. vars Дополнительные переменные. &reftitle.returnvalues; Возвращает присвоенный массив. &reftitle.changelog; &Version; &Description; 7.3.0 Добавлена поддержка присвоения по ссылкам при деструктурировании массива. 7.1.0 Теперь в конструкции list разрешено задавать ключи. Это разрешает разыменовывать ассоциативные массивы и массивы с индексами не по порядку. &reftitle.examples; Примеры использования конструкции <function>list</function> ]]> Пример использования конструкции <function>list</function> query("SELECT id, name FROM employees"); while (list($id, $name) = $result->fetch(PDO::FETCH_NUM)) { echo "id: $id, name: $name\n"; } ?> ]]> Использование <function>list</function> с индексами массивов ]]> Конструкция <function>list</function> и порядок указания индексов Порядок определения индексов в массиве, с которым будет работать конструкция list, неважен. 'a', 'foo' => 'b', 0 => 'c'); $foo[1] = 'd'; list($x, $y, $z) = $foo; var_dump($foo, $x, $y, $z); ]]> Даёт такой вывод (обратите внимание на порядок, в котором элементы сравнивались, и в каком порядке элементы записаны в синтаксисе list): string(1) "a" ["foo"]=> string(1) "b" [0]=> string(1) "c" [1]=> string(1) "d" } string(1) "c" string(1) "d" string(1) "a" ]]> <function>list</function> с ключами Начиная с PHP 7.1.0 конструкции list разрешено содержать явные ключи, которые указывают как произвольные выражения. Допустимо смешивать строковые и целочисленные ключи; однако элементы с ключами и без ключей смешивать нельзя. 1, "name" => 'Tom'], ["id" => 2, "name" => 'Fred'], ]; foreach ($data as ["id" => $id, "name" => $name]) { echo "id: $id, name: $name\n"; } echo PHP_EOL; list(1 => $second, 3 => $fourth) = [1, 2, 3, 4]; echo "$second, $fourth\n"; ]]> &example.outputs; &reftitle.seealso; each array extract