liste()modification
1. list() n'attribue plus les valeurs dans l'ordre inverse
list($array[], $array[], $array[]) = [1, 2, 3]; var_dump($array);
Le code ci-dessus renverra un tableau : $array == [1, 2, 3] au lieu du précédent [3, 2, 1]
Remarque : Seul l'ordre d'affectation change, la valeur attribuée est toujours la même qu'auparavant.
list($a, $b, $c) = [1, 2, 3]; // $a = 1; $b = 2; $c = 3;
Toujours le même comportement qu'avant.
2. L'affectation de liste vide () n'est plus autorisée.
list() = $a; list(,,) = $a; list($x, list(), $y) = $a;
Les codes ci-dessus signaleront une erreur lors de l'exécution.
3. list() ne prend plus en charge la fonction de fractionnement de chaîne
$string = "xy"; list($x, $y) = $string;Le résultat final de ce code est : $x == null et $y == null (il n'y aura pas d'invite)
Le résultat de l'exécution de PHP5 est : $ x == "x" et $y == "y".
4 De plus, list() fonctionne désormais également pour les objets tableau :
list($a, $b) = (object) new ArrayObject([0, 1]);PHP7 : $a == 0 et $b == 1.
Résultats PHP5 : $a == null et $b == null.