php – list() 與陣列 [] 在7.1增加的功能

從 php7.1 開始支援使用陣列 [] ( 基本上 [] 在 php 7 已經可以取代 list() )可以指定特別的鍵,例如:

$data = ['a' => 'A', 'b' => 'B'];
['a' => $first, 'b' => $second] = $data;
echo $first; // A
echo $second; // B

上面的意思也就是,將陣列 $data 中的 a 放到變數 $first。

在 7.1 之前只能使用數字 key 來取得另外一個對應的陣列,如

$data = ['A', 'B'];
[$first, $second] = $data;
echo $first; // A
echo $second; // B

如果這樣的話會報錯

$data = ['a' => 'A', 'a' => 'B'];
[$first, $second] = $data; // ErrorException : Undefined offset: 0

發表迴響