详解PHP 7.4 中数组延展操作符语法知识点
时间:2022-07-27
本文章向大家介绍详解PHP 7.4 中数组延展操作符语法知识点,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
在数组表达式中对展开操作符(Spread Operator)支持的 RFC 投票是 绝大多数人赞同 将此功能添加到 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 一致,不支持字符串键。遇到字符串键后,将抛出可恢复的错误。
- 使用jQuery Validation插件来验证表单
- 如何用Wireshark捕获USB数据?
- QEMU 2: 参数解析
- [WCF安全系列]认证与凭证:X.509证书
- 深度学习:能击败欧洲围棋冠军,还能防恶意软件
- Metasploit中的JAVA反向TCP做法的研究
- 商业级别Fortify白盒神器介绍与使用分析
- [WCF安全系列]消息的保护等级[上篇]
- QEMU 1: 使用QEMU创建虚拟机
- [WCF安全系列]绑定、安全模式与客户端凭证类型:NetNamedPipeBinding、NetTcpBinding与NetMsmqBinding
- 操作系统级虚拟化概述
- 让javascript中的异步请求同步起来
- [WCF REST] WebHttpBinding与消息编码
- React 概要
- php概述
- php教程
- php环境搭建
- PHP书写格式
- php变量
- php常量
- PHP注释
- php数组
- php字符串 string
- PHP整型 integer
- PHP浮点型 float
- php布尔型
- php数据类型之数组
- php数据类型之对象
- php数据类型之null
- php数据类型之间的转换
- php运算符
- php表达式
- PHP循环控制
- PHP流程控制
- php函数
- php全局变量
- PHP魔术变量
- php命名空间
- php 日期
- PHP包含文件
- php文件
- PHP 文件上传
- php Cookies
- php Sessions
- php email
- php安全email
- php错误处理
- PHP异常处理
- php过滤器
- PHP 高级过滤器
- php json
- php 表单
- PHP MySQL 简介
- PHP 连接 MySQL
- php创建数据库
- php 创建表
- php mysq 插入数据
- PHP MySQL 插入多条数据
- PHP MySQL 预处理语句
- php mysql 读取数据
- php mysql where
- PHP MySQL Order By
- PHP MySQL Update
- PHP MySQL Delete
- php ODBC
- 深入 TypeScript 中的子类型、逆变、协变,进阶 Vue3 源码前必须搞懂的。
- Vue3 + TypeScript 实现递归菜单组件
- TypeScript 4.1 新特性:字符串模板类型,Vuex 终于有救了?
- TS 4.1 新特性实现 Vuex 无限层级命名空间的 dispatch 类型推断。
- egg.js踩坑记录(一)开始篇
- VUI创建日志(二)——防抖节流组件的实现
- 为你的VuePress博客添加GitTalk评论
- Go 中 Set 的实现方式
- Go 译文之词法分析与解析 Part Three
- React-Native踩坑记
- 【译】成为优秀程序员(和人类)的101个技巧
- 谈谈ES6语法(汇总中篇)
- 谈谈ES6语法(汇总下篇)
- [译] JS 中 service workers 的简介
- 【译】如何大大简化你的Vuex Store