详解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 相关文章推荐
PHP5 面向对象程序设计
Feb 13 PHP
解析thinkphp基本配置 convention.php
Jun 18 PHP
php 批量替换html标签的实例代码
Nov 26 PHP
Php无限级栏目分类读取的实现代码
Feb 19 PHP
php的declare控制符和ticks教程(附示例)
Mar 21 PHP
解析PHP强制转换类型及远程管理插件的安全隐患
Jun 30 PHP
php防止站外远程提交表单的方法
Oct 20 PHP
PHP获取数组中重复最多的元素的实现方法
Nov 11 PHP
Apache连接PHP后无法启动问题解决思路
Jun 18 PHP
基于PHP技术开发客服工单系统
Jan 06 PHP
微信公众号判断用户是否已关注php代码解析
Jun 24 PHP
万能的php分页类
Jul 06 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
解析argc argv在php中的应用
2013/06/24 PHP
php使浏览器直接下载pdf文件的方法
2013/11/15 PHP
PHP调用C#开发的dll类库方法
2014/07/28 PHP
php上传中文文件名乱码问题处理方案
2015/02/03 PHP
php字符串按照单词进行反转的方法
2015/03/14 PHP
PHP如何获取当前主机、域名、网址、路径、端口等参数
2017/06/09 PHP
潜说js对象和数组
2011/05/25 Javascript
关于js中for in的缺陷浅析
2013/12/02 Javascript
使用Node.js实现一个简单的FastCGI服务器实例
2014/06/09 Javascript
AngularJS语法详解
2015/01/23 Javascript
JavaScript中Date.toSource()方法的使用教程
2015/06/12 Javascript
jquery+css3实现网页背景花瓣随机飘落特效
2015/08/17 Javascript
关于Bootstrap按钮组件消除黄框的方法
2017/05/19 Javascript
使用JQ完成表格隔行换色的简单实例
2017/08/25 Javascript
webpack打包js的方法
2018/03/12 Javascript
react 创建单例组件的方法
2018/04/26 Javascript
vue 全局环境切换问题
2019/10/27 Javascript
es6中new.target的作用和使用场景简单示例分析
2020/03/14 Javascript
js实现翻牌小游戏
2020/07/31 Javascript
Vue页面手动刷新,实现导航栏激活项还原到初始状态
2020/08/06 Javascript
[03:23:49]2016.12.17日完美“圣”典全回顾
2016/12/19 DOTA
[44:10]2018DOTA2亚洲邀请赛 4.5 淘汰赛 EG vs VP 第一场
2018/04/06 DOTA
python根据经纬度计算距离示例
2014/02/16 Python
Python中实现三目运算的方法
2015/06/21 Python
Python 数据结构之堆栈实例代码
2017/01/22 Python
python安装读取grib库总结(推荐)
2020/06/24 Python
python中的测试框架
2020/11/13 Python
python 制作网站筛选工具(附源码)
2021/01/21 Python
印度网上药店:1mg
2017/10/13 全球购物
上海微创软件面试题
2012/06/14 面试题
MIS软件工程师的面试题
2016/04/22 面试题
节能宣传周活动总结
2014/05/08 职场文书
党性分析自查总结
2014/10/14 职场文书
2014年村委会工作总结
2014/11/24 职场文书
劳资员岗位职责
2015/02/13 职场文书
虎兄虎弟观后感
2015/06/12 职场文书