详解PHP 7.4 中数组延展操作符语法知识点

yipeiwu_com6年前PHP代码库

在数组表达式中对展开操作符(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 一致,不支持字符串键。遇到字符串键后,将抛出可恢复的错误。

以上就是本次介绍PHP 7.4 中数组延展操作符语法知识点,感谢大家的学习和对【宜配屋www.yipeiwu.com】的支持。

相关文章

PHP MVC框架中类的自动加载机制实例分析

PHP MVC框架中类的自动加载机制实例分析

本文实例讲述了PHP MVC框架中类的自动加载机制。分享给大家供大家参考,具体如下: 原文 实现类的自动加载主要使用到了set_include_path和spl_autoload_re...

php实现不通过扩展名准确判断文件类型的方法【finfo_file方法与二进制流】

本文实例讲述了php实现不通过扩展名准确判断文件类型的方法。分享给大家供大家参考,具体如下: 第一种方法 通过php的finfo_file() $handle=finfo_open(...

PHP实现的防止跨站和xss攻击代码【来自阿里云】

本文实例讲述了PHP实现的防止跨站和xss攻击代码。分享给大家供大家参考,具体如下: 文档说明: 1.将waf.php传到要包含的文件的目录 2.在页面中加入防护,有两种做法,根据情况二...

php 中英文语言转换类代码

起初想到制成XML文档形式,这样操作也起来很容易。只是看到说XML效率不怎样 再者就是不同的模板,可这样也有个小问题,有些词汇比如时间提示是不确定,与可能是minute ,day。也有可...

php实现源代码加密的方法

本文实例讲述了php实现源代码加密的方法。分享给大家供大家参考。具体实现方法如下: <?php function RandAbc($length=""){//返回随...