详解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 相关文章推荐
基于PHP与XML的PDF文档生成技术
Oct 09 PHP
我的论坛源代码(八)
Oct 09 PHP
整理的9个实用的PHP库简介和下载
Nov 09 PHP
PHP session有效期session.gc_maxlifetime
Apr 20 PHP
关于session在PHP5的配置文件中的详细设置参数说明
Apr 20 PHP
如何在symfony中导出为CSV文件中的数据
Oct 06 PHP
新手菜鸟必读:session与cookie的区别
Aug 22 PHP
百度地图API使用方法详解
Aug 25 PHP
10个php函数实用却不常见
Oct 13 PHP
PHP中set_include_path()函数相关用法分析
Jul 18 PHP
PHP实现基于图的深度优先遍历输出1,2,3...n的全排列功能
Nov 10 PHP
详解php伪造Referer请求反盗链资源
Jan 24 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
php单例模式实现(对象只被创建一次)
2012/12/05 PHP
PHP连接MySQL的2种方法小结以及防止乱码
2014/03/11 PHP
php多任务程序实例解析
2014/07/19 PHP
PHP 魔术变量和魔术函数详解
2015/02/25 PHP
值得分享的php+ajax实时聊天室
2016/07/20 PHP
JS是否可以跨文件同时控制多个iframe页面的应用技巧
2007/12/16 Javascript
csdn 批量接受好友邀请
2009/02/19 Javascript
JavaScript Event学习第五章 高级事件注册模型
2010/02/07 Javascript
基于IE下ul li 互相嵌套时的bug,排查,解决过程以及心得介绍
2013/05/07 Javascript
AngularJS中一般函数参数传递用法分析
2016/11/22 Javascript
基于JavaScript实现Tab选项卡切换效果
2016/11/24 Javascript
Reactjs实现通用分页组件的实例代码
2017/01/19 Javascript
servlet+jquery实现文件上传进度条示例代码
2017/01/25 Javascript
js实现文本上下来回滚动
2017/02/03 Javascript
jQuery插件HighCharts实现的2D条状图效果示例【附demo源码下载】
2017/03/15 Javascript
BootStrap Table复选框默认选中功能的实现代码(从数据库获取到对应的状态进行判断是否为选中状态)
2017/07/11 Javascript
jQuery实现的模仿雨滴下落动画效果
2018/12/11 jQuery
D3.js(v3)+react 实现带坐标与比例尺的散点图 (V3版本)
2019/05/09 Javascript
layui实现数据分页功能
2019/07/27 Javascript
uniapp电商小程序实现订单30分钟倒计时
2020/11/01 Javascript
[00:31]DOTA2上海特级锦标赛 Fnatic战队宣传片
2016/03/04 DOTA
python求斐波那契数列示例分享
2014/02/14 Python
Python xlrd读取excel日期类型的2种方法
2015/04/28 Python
python运行时间的几种方法
2016/06/17 Python
numpy concatenate数组拼接方法示例介绍
2019/05/27 Python
Python线上环境使用日志的及配置文件
2019/07/28 Python
Python3和pyqt5实现控件数据动态显示方式
2019/12/13 Python
Python面向对象程序设计之私有变量,私有方法原理与用法分析
2020/03/23 Python
Scrapy项目实战之爬取某社区用户详情
2020/09/17 Python
英国电信商店:BT Shop
2019/12/17 全球购物
opencv实现图像平移效果
2021/03/24 Python
小学教师岗位职责
2013/11/25 职场文书
考试不及格的检讨书
2014/01/22 职场文书
超市采购员岗位职责
2014/02/01 职场文书
Java循环队列与非循环队列的区别总结
2021/06/22 Java/Android
Vue elementUI表单嵌套表格并对每行进行校验详解
2022/02/18 Vue.js