详解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 相关文章推荐
深入理解ob_flush和flush的区别(ob_flush()与flush()使用方法)
Feb 06 PHP
PHP5.3安装Zend Guard Loader图文教程
Sep 29 PHP
ThinkPHP中处理表单中的注意事项
Nov 22 PHP
thinkphp模板继承实例简述
Nov 26 PHP
CI框架中site_url()和base_url()的区别
Jan 07 PHP
如何使用PHP Embed SAPI实现Opcodes查看器
Nov 10 PHP
PHP使用星号隐藏用户名,手机和邮箱的实现方法
Sep 22 PHP
php微信公众平台开发(一) 配置接口
Dec 06 PHP
总结PHP代码规范、流程规范、git规范
Jun 18 PHP
Thinkphp整合阿里云OSS图片上传实例代码
Apr 28 PHP
Thinkphp5框架简单实现钩子(Hook)行为的方法示例
Sep 03 PHP
PHP中通过getopt解析GNU C风格命令行选项
Nov 18 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
解析thinkphp import 文件内容变量失效的问题
2013/06/20 PHP
解决PHP mysql_query执行超时(Fatal error: Maximum execution time …)
2013/07/03 PHP
laravel 验证错误信息到 blade模板的方法
2019/09/29 PHP
Laravel 错误提示本地化的实现
2019/10/22 PHP
一个简单的JavaScript 日期计算算法
2009/09/11 Javascript
让jQuery与其他JavaScript库并存避免冲突的方法
2013/12/23 Javascript
javascript中HTMLDOM操作详解
2014/12/11 Javascript
jquery制作漂亮的弹出层提示消息特效
2014/12/23 Javascript
jQuery中slice()方法用法实例
2015/01/07 Javascript
js实现用户注册协议倒计时的方法
2015/01/21 Javascript
jQuery+PHP实现动态数字展示特效
2015/03/14 Javascript
DOM事件阶段以及事件捕获与事件冒泡先后执行顺序(图文详解)
2015/08/18 Javascript
js实现将选中内容分享到新浪或腾讯微博
2015/12/16 Javascript
jQuery中attr()与prop()函数用法实例详解(附用法区别)
2015/12/29 Javascript
JS实时弹出新消息提示框并有提示音响起的实现代码
2016/04/20 Javascript
使用vue.js实现联动效果的示例代码
2017/01/10 Javascript
vue脚手架中配置Sass的方法
2018/01/04 Javascript
Electron 如何调用本地模块的方法
2019/02/01 Javascript
VUE 实现复制内容到剪贴板的两种方法
2019/04/24 Javascript
js实现左右轮播图
2020/01/09 Javascript
jQuery实现tab栏切换效果
2020/12/22 jQuery
浅析python3中的os.path.dirname(__file__)的使用
2018/08/30 Python
对Pandas MultiIndex(多重索引)详解
2018/11/16 Python
Python3模拟登录操作实例分析
2019/03/12 Python
Django 拼接两个queryset 或是两个不可以相加的对象实例
2020/03/28 Python
简单了解Java Netty Reactor三种线程模型
2020/04/26 Python
几个解决兼容IE6\7\8不支持html5标签的几个方法
2013/01/07 HTML / CSS
瑞典廉价机票预订网站:Seat24
2018/06/19 全球购物
澳大利亚办公室装修:JasonL Office Furniture
2019/06/25 全球购物
软件测试英文面试题
2012/10/14 面试题
投资建议书模板
2014/05/12 职场文书
纪检干部个人对照检查材料
2014/09/23 职场文书
解除劳动合同通知书范本
2015/04/16 职场文书
班主任远程培训研修日志
2015/11/13 职场文书
高中信息技术教学反思
2016/02/16 职场文书
纯html+css实现奥运五环的示例代码
2021/08/02 HTML / CSS