详解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项目的方法
Oct 09 PHP
一些PHP Coding Tips(php小技巧)[2011/04/02最后更新]
May 02 PHP
php 团购折扣计算公式
Nov 24 PHP
php数组保存文本与文本反编成数组实例
Nov 13 PHP
PHP借助phpmailer发送邮件
May 11 PHP
THinkPHP获取客户端IP与IP地址查询的方法
Nov 14 PHP
PHP封装返回Ajax字符串和JSON数组的方法
Feb 17 PHP
PHP实现的简单组词算法示例
Apr 10 PHP
ThinkPHP框架实现的邮箱激活功能示例
Jun 15 PHP
PHP+redis实现的悲观锁机制示例
Jun 12 PHP
PHP中散列密码的安全性分析
Jul 26 PHP
PHP 计算两个时间段之间交集的天数示例
Oct 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
一个域名查询的程序
2006/10/09 PHP
php带密码功能并下载远程文件保存本地指定目录 修改加强版
2010/05/16 PHP
PHP的可变变量名的使用方法分享
2012/02/05 PHP
mongo Table类文件 获取MongoCursor(游标)的实现方法分析
2013/07/01 PHP
解决cPanel无法安装php5.2.17
2014/06/22 PHP
symfony2.4的twig中date用法分析
2016/03/18 PHP
基于jquery的修改当前TAB显示标题的代码
2010/12/11 Javascript
JS 自定义带默认值的函数
2011/07/21 Javascript
JavaScript SHA512&amp;SHA256加密算法详解
2015/08/11 Javascript
跟我学习javascript的Date对象
2015/11/19 Javascript
详解angularJs中关于ng-class的三种使用方式说明
2017/06/02 Javascript
javascript实现Java中的Map对象功能的实例详解
2017/08/21 Javascript
JavaScript多线程运行库Nexus.js详解
2017/12/22 Javascript
js中的闭包学习心得
2018/02/06 Javascript
浅谈VUE监听窗口变化事件的问题
2018/02/24 Javascript
解决vuejs项目里css引用背景图片不能显示的问题
2018/09/13 Javascript
JavaScript中构造函数与原型链之间的关系详解
2019/02/25 Javascript
微信小程序整合使用富文本编辑器的方法详解
2019/04/25 Javascript
小程序外卖订单界面的示例代码
2019/12/30 Javascript
js实现特别简单的钟表效果
2020/09/14 Javascript
Django实现图片文字同时提交的方法
2015/05/26 Python
Python基于DES算法加密解密实例
2015/06/03 Python
python机器学习实现决策树
2019/11/11 Python
python文字转语音实现过程解析
2019/11/12 Python
Pytorch实现LSTM和GRU示例
2020/01/14 Python
django实现日志按日期分割
2020/05/21 Python
使用OpenCV对车道进行实时检测的实现示例代码
2020/06/19 Python
Internet主要有哪些网络群组成
2015/12/24 面试题
工程部主管岗位职责
2013/11/17 职场文书
高三生物教学反思
2014/01/25 职场文书
领导干部作风建设总结
2014/10/23 职场文书
运动会表扬稿范文
2015/05/05 职场文书
国家助学金受助感言
2015/08/01 职场文书
2016年入党心得体会范文
2016/01/23 职场文书
pytorch通过训练结果的复现设置随机种子
2021/06/01 Python
vue项目打包后路由错误的解决方法
2022/04/13 Vue.js