影者东升 发表于 2021-8-20 12:55:24

详解PHP 7.4 中数组延展操作符语法知识点

在数组表达式中对展开操作符(Spread Operator)支持的 RFC 投票是 绝大多数人赞同 将此功能添加到 PHP 7.4。

扩展运算符支持参数解包首先存在于 PHP 5.6 中,并且此 RFC 扩展了对数组的使用;扩展可以支持 Traversable 的数组和对象。这是 RFC 的一个基本示例:


$parts = ['apple', 'pear'];
$fruits = ['banana', 'orange', ...$parts, 'watermelon'];
// ['banana', 'orange', 'apple', 'pear', 'watermelon'];
以下是进一步的示例:


$arr1 = ;
$arr2 = [...$arr1]; //
$arr3 = ; //
$arr4 = array(...$arr1, ...$arr2, 111); //
$arr5 = [...$arr1, ...$arr1]; //

function getArr() {
return ['a', 'b'];
}
$arr6 = [...getArr(), 'c']; // ['a', 'b', 'c']

$arr7 = [...new ArrayIterator(['a', 'b', 'c'])]; // ['a', 'b', 'c']

function arrGen() {
for($i = 11; $i < 15; $i++) {
    yield $i;
}
}
$arr8 = [...arrGen()]; //
不支持字符串键;你只能使用索引数组。 RFC 的作者对关键的支持做了如下说明:
为了使行为与 argument unpacking 一致,不支持字符串键。遇到字符串键后,将抛出可恢复的错误。
以上就是本次介绍PHP 7.4 中数组延展操作符语法知识点,感谢大家的学习和对CodeAE代码之家的支持。

文档来源:http://www.zzvips.com/article/182443.html
页: [1]
查看完整版本: 详解PHP 7.4 中数组延展操作符语法知识点