当前位置:首页 > PHP教程 > php数组 > 列表

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

发布:smiling 来源: PHP粉丝网  添加日期:2021-12-05 17:05:01 浏览: 评论:0 

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

PHP7.4数组延展 PHP7.4操作符

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

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

以下是进一步的示例:

  1. $arr1 = [1, 2, 3]; 
  2. $arr2 = [...$arr1]; // [1, 2, 3] 
  3. $arr3 = [0, ...$arr1]; // [0, 1, 2, 3] 
  4. $arr4 = array(...$arr1, ...$arr2, 111); // [1, 2, 3, 1, 2, 3, 111] 
  5. $arr5 = [...$arr1, ...$arr1]; // [1, 2, 3, 1, 2, 3] 
  6.  
  7. function getArr() { 
  8.  return ['a''b']; 
  9. $arr6 = [...getArr(), 'c']; // ['a', 'b', 'c'] 
  10.  
  11. $arr7 = [...new ArrayIterator(['a''b''c'])]; // ['a', 'b', 'c'] 
  12.  
  13. function arrGen() { 
  14.   for($i = 11; $i < 15; $i++) { 
  15.     yield $i
  16.   } 
  17. $arr8 = [...arrGen()]; // [11, 12, 13, 14] 

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

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

Tags: PHP7 4数组延展 PHP7 4操作符

分享到:

相关文章