欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-06-21 09:02:46
在数组表达式中对展开操作符(spread operator)支持的 rfc 投票是 绝大多数人赞同 将此功能添加到 php 7.4。 扩展运算符支持参数解包首先存在于...

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

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

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

$parts = ['apple', 'pear'];
$fruits = ['banana', 'orange', ...$parts, 'watermelon'];
// ['banana', 'orange', 'apple', 'pear', 'watermelon'];

以下是进一步的示例:

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

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()]; // [11, 12, 13, 14]

不支持字符串键;你只能使用索引数组。 rfc 的作者对关键的支持做了如下说明:

为了使行为与 一致,不支持字符串键。遇到字符串键后,将抛出可恢复的错误。

以上就是本次介绍php 7.4 中数组延展操作符语法知识点,感谢大家的学习和对的支持。