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


Posted in PHP onJuly 19, 2019

在数组表达式中对展开操作符(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 的作者对关键的支持做了如下说明:

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

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

PHP 相关文章推荐
xajax写的留言本
Nov 25 PHP
PHP 输出简单动态WAP页面
Jun 09 PHP
PHP中break及continue两个流程控制指令区别分析
Apr 18 PHP
基于initPHP的框架介绍
Apr 18 PHP
PHP制作图形验证码代码分享
Oct 23 PHP
PHP+apc+ajax实现的ajax_upload上传进度条代码
Jan 25 PHP
thinkPHP3.2简单实现文件上传的方法
May 16 PHP
PHP引用返回用法示例
May 28 PHP
PHP实现JS中escape与unescape的方法
Jul 11 PHP
PHP数组遍历的几种常见方式总结
Feb 15 PHP
PHP中Session ID的实现原理实例分析
Aug 17 PHP
php array 转json及java 转换 json数据格式操作示例
Nov 13 PHP
php的优点总结 php有哪些优点
Jul 19 #PHP
Yii框架页面渲染操作实例详解
Jul 19 #PHP
Yii2 queue的队列使用详解
Jul 19 #PHP
thinkphp5.1框架模板布局与模板继承用法分析
Jul 19 #PHP
Yii2.0框架模型添加/修改/删除数据操作示例
Jul 18 #PHP
Yii2.0框架模型多表关联查询示例
Jul 18 #PHP
php和redis实现秒杀活动的流程
Jul 17 #PHP
You might like
《被神捡到的男人》动画化计划进行中!
2020/03/06 日漫
《PHP编程最快明白》第四讲:日期、表单接收、session、cookie
2010/11/01 PHP
PHP禁止个别IP访问网站
2013/10/30 PHP
php 在字符串指定位置插入新字符的简单实现
2016/06/28 PHP
PHP命名空间namespace的定义方法详解
2017/03/29 PHP
PHP微信开发之微信录音临时转永久存储
2018/01/26 PHP
php实现根据身份证获取精准年龄
2020/02/26 PHP
javascript appendChild,innerHTML,join性能比较代码
2009/08/29 Javascript
事件冒泡是什么如何用jquery阻止事件冒泡
2013/03/20 Javascript
在每个匹配元素的外部插入新元素的方法
2013/12/20 Javascript
js简单实现网页换肤功能
2017/04/07 Javascript
Vue生命周期示例详解
2017/04/12 Javascript
JS实现简单的天数计算器完整实例
2017/04/28 Javascript
基于jQuery封装的分页组件
2017/06/26 jQuery
parabola.js抛物线与加入购物车效果的示例代码
2017/10/25 Javascript
微信小程序实现下拉刷新和轮播图效果
2017/11/21 Javascript
vue单页面实现当前页面刷新或跳转时提示保存
2018/11/02 Javascript
vue数据响应式原理知识点总结
2020/02/16 Javascript
react中hook介绍以及使用教程
2020/12/11 Javascript
Python中几个比较常见的名词解释
2015/07/04 Python
django2 快速安装指南分享
2018/01/05 Python
python同步windows和linux文件
2019/08/29 Python
Python获取时间戳代码实例
2019/09/24 Python
Pandas 缺失数据处理的实现
2019/11/04 Python
django自定义模板标签过程解析
2019/12/14 Python
flask 实现上传图片并缩放作为头像的例子
2020/01/09 Python
Python Pivot table透视表使用方法解析
2020/09/11 Python
Square Off美国/加拿大:世界上最聪明的国际象棋棋盘
2018/12/06 全球购物
EJB需直接实现它的业务接口或Home接口吗,请简述理由
2016/11/23 面试题
教师演讲稿范文
2014/01/08 职场文书
鲜果饮品店创业计划书
2014/01/21 职场文书
年底个人总结范文
2015/03/10 职场文书
2015年幼儿园班主任工作总结
2015/05/12 职场文书
公司致全体员工的感谢信
2019/06/24 职场文书
JS中一些高效的魔法运算符总结
2021/05/06 Javascript
Golang 1.18 多模块Multi-Module工作区模式的新特性
2022/04/11 Golang