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.
Les chaînes de caractères ne peuvent pas être déstructurées et les expressions
list ne peuvent pas être entièrement vide.
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.
&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 list
]]>
Exemple d'utilisation de list
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-list
]]>
list et l'ordre de définition des index
L'ordre dans lequel les indices d'un tableau à traiter par
list sont définis est non pertinent.
'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"
]]>
list 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