一、list()不再按照相反的順序賦值
list($array[], $array[], $array[]) = [1, 2, 3]; var_dump($array);
上面的代碼會(huì)返回一個(gè)數(shù)組:$array == [1, 2, 3] 而不是之前的 [3, 2, 1]
注意:只是賦值的順序發(fā)生變化,賦的值還是和原來一樣的。
list($a, $b, $c) = [1, 2, 3]; // $a = 1; $b = 2; $c = 3;
和原來的行為還是一樣的。
二、空的list()賦值不再允許。
list() = $a; list(,,) = $a; list($x, list(), $y) = $a;
上面的這些代碼運(yùn)行起來會(huì)報(bào)錯(cuò)了。
三、list()不在支持字符串拆分功能
$string = "xy"; list($x, $y) = $string;這段代碼最終的結(jié)果是:$x == null and $y == null (不會(huì)有提示)
PHP5運(yùn)行的結(jié)果是: $x == "x" and $y == "y".
四、除此之外,list()現(xiàn)在也適用于數(shù)組對(duì)象:
list($a, $b) = (object) new ArrayObject([0, 1]);PHP7結(jié)果:$a == 0 and $b == 1.
PHP5結(jié)果:$a == null and $b == null.