list Assigne des variables comme si elles étaient un tableau &reftitle.description; arraylist mixedvar mixedvars Tout comme array, list n'est pas une véritable fonction, mais un élément de langage, qui permet de rassembler les variables varname, ... sous forme de tableau, pour les assigner en une seule ligne. Seuls les tableaux et les objets qui implémentent ArrayAccess peuvent être déstructurés. Les expressions list ne peuvent pas être complètement vides. Antérieur à PHP 7.1.0, list fonctionne uniquement sur un tableau d'indice numérique et suppose que l'indice numérique commence à 0. À partir de PHP 7.1.0, list peut également contenir des clés explicites, permettant ainsi la déstructuration de tableaux avec des clés non entières ou non séquentielles. Pour plus de détails sur la déstructuration de tableaux, voir la section sur la déstructuration des tableaux. Tenter d’accéder à une clé de tableau qui n’a pas été définie est équivalent à accéder à toute autre variable non définie : un message d’erreur de niveau E_WARNING (E_NOTICE avant PHP 8.0.0) sera émis, et le résultat sera &null;. Tenter de déstructurer un scalaire affecte &null; à toutes les variables. Tenter de déstructurer un objet qui n’implémente pas ArrayAccess est une erreur fatale. &reftitle.parameters; var Une variable. vars Variables supplémentaires. &reftitle.returnvalues; Retourne le tableau assigné. &reftitle.changelog; &Version; &Description; 7.3.0 Le support pour l'assignement par référence dans la déstructuration de tableau a été ajouté. 7.1.0 Il est maintenant possible de spécifier les clés dans la list. Cela permet de déstructurer des tableaux avec des clés non-entières ou non séquentielles. &reftitle.examples; Exemple avec <function>list</function> ]]> Exemple d'utilisation de <function>list</function> query("SELECT id, name FROM employees"); while (list($id, $name) = $result->fetch(PDO::FETCH_NUM)) { echo "id: $id, name: $name\n"; } ?> ]]> Utilisation d'un sous-<function>list</function> ]]> &example.outputs; L'ordre dans lequel les indices d'un tableau à traiter par list sont définis est non pertinent. <function>list</function> et l'ordre de définition des index 'a', 'foo' => 'b', 0 => 'c'); $foo[1] = 'd'; list($x, $y, $z) = $foo; var_dump($foo, $x, $y, $z); ]]> Étant donné la sortie suivante (notez l'ordre des éléments comparés et dans quel ordre ils ont été écrits dans la syntaxe de la 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> avec des clés À partir de PHP 7.1.0 list peut maintenant contenir également des clés explicites, qui peuvent être donnés comme des expressions arbitraires. Le mixage des clés &integer; et &string; est autorisé; Toutefois, les éléments avec et sans clés ne peuvent pas être mélangés. 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