加入收藏 | 设为首页 | 会员中心 | 我要投稿 北几岛 (https://www.beijidao.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

数组声明中的PHP Spread语法

发布时间:2021-07-06 05:25:53 所属栏目:大数据 来源: https://www.jb51.cc
导读:PHP支持variadic functions的扩展语法. 在JavaScript中,您可以使用扩展语法来执行this: var a = [1, 2];var b = [...a, 3, 4];console.log(b); // [1, 2, 3, 4] 但是,尝试在PHP中执行此操作: $a = [1, 2];$b = [...$a, 3, 4];var_dump($b);die; 结果出现此

PHP支持variadic functions的扩展语法.

在JavaScript中,您可以使用扩展语法来执行this:

var a = [1, 2];
var b = [...a, 3, 4];
console.log(b); // [1, 2, 3, 4]

但是,尝试在PHP中执行此操作:

$a = [1, 2];
$b = [...$a, 3, 4];
var_dump($b);die;

结果出现此错误:

Parse error: Syntax error, unexpected ‘…’ (T_ELLIPSIS), expecting ‘]’

在PHP中不允许这种方式使用扩展语法吗?如果是这样,是否有同样优雅的方式来达到同样的效果?

解决方法:

the arrays RFC中的扩展运算符已在PHP 7.4中实现:

$ary = [3, 4, 5];
return [1, 2, ...$ary]; // same as [1, 2, 3, 4, 5]

警告:解压缩的数组/ Traversable只能有整数键.对于字符串键,仍然需要array_merge().

(编辑:北几岛)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读