Php 简明教程
PHP - Spread Operator
PHP 将三个点符号(…)识别为 spread operator 。展开运算符有时也称为 splat operator 。此运算符最初在 PHP 7.4 版本中引入。它可以在许多情况下有效使用,例如解包数组。
Example 1
在下面的示例中,$arr1 中的元素插入到 $arr2 中其自身元素的列表之后。
<?php
$arr1 = [4,5];
$arr2 = [1,2,3, ...$arr1];
print_r($arr2);
?>
它将生成以下 output −
Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 4
[4] => 5
)
Example 2
展开运算符可以在表达式中多次使用。例如,在以下代码中,通过扩展两个数组中的元素来创建一个第三个数组。
<?php
$arr1 = [1,2,3];
$arr2 = [4,5,6];
$arr3 = [...$arr1, ...$arr2];
print_r($arr3);
?>
它将生成以下 output −
Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 4
[4] => 5
[5] => 6
)
Example 3
请注意,可以使用 array_merge() 函数获得相同的结果,如下所示:
<?php
$arr1 = [1,2,3];
$arr2 = [4,5,6];
$arr3 = array_merge($arr1, $arr2);
print_r($arr3);
?>
它将产生相同的 output ——
Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 4
[4] => 5
[5] => 6
)
但是,使用(…)运算符的效率要高得多,因为它避免了函数调用的开销。