📅  最后修改于: 2023-12-03 15:25:11.147000             🧑  作者: Mango
PHP 8.1 中,对字符串键数组的数组解包支持成为了一个新特性。在过去的版本中,只能对数字键数组进行解包。
解包是指将一个数组或对象的成员或属性,分解为独立的变量或表达式,在语法上更容易使用和处理。
举个例子,下面是一个数字键数组:
$array = [1, 2, 3];
数字键数组可以使用解包操作将其转换为独立的变量:
[$a, $b, $c] = $array;
echo $a; // 1
echo $b; // 2
echo $c; // 3
在 PHP 8.1 之前,只有数字键数组才能进行解包操作。如果尝试对字符串键数组进行解包,会产生一个 Fatal error 错误。
$array = ['a' => 'apple', 'b' => 'banana', 'c' => 'cherry'];
[$a, $b, $c] = $array; // Fatal error: Uncaught Error: [] operator not supported for strings
PHP 8.1 引入了对字符串键数组的解包支持。这意味着你可以像操作数字键数组一样操作字符串键数组。
$array = ['a' => 'apple', 'b' => 'banana', 'c' => 'cherry'];
['a' => $a, 'b' => $b, 'c' => $c] = $array;
echo $a; // apple
echo $b; // banana
echo $c; // cherry
[]
可以在任何支持列表的地方使用。在 PHP 8.1 中,对字符串键数组的数组解包支持成为了一个新特性。这使得开发人员可以更方便地使用和处理字符串键数组。