转数组在线 php_PHP7.4新语法:数组延展操作符

a8c01aa3c88c76f4b309ad003db027e1.png

php中文网最新课程

每日17点准时技术干货分享

7ada27dd6282086b77615f4704a0cf8c.png

feb3634253033efd4f06a918a9f33054.gif

在数组表达式中对展开操作符(Spread Operator)支持的RFC投票是绝大多数人赞同将此功能添加到PHP7.4。

扩展运算符支持参数解包首先存在于PHP5.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一致,不支持字符串键。

遇到字符串键后,将抛出可恢复的错误。

e9ea24a6b8e38886d9edc7fe9f0dd08f.gif

-END-

声明:本文选自「 php中文网 」,搜索「 phpcnnew 」即可关注!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值