可以通过...将函数参数存储在紧接的可遍历的变量中
1 function add(...$int){ 2 var_dump($int); 3 $sum = array_sum($int); 4 echo $sum; 5 } 6 add(1,2,3);
对使用…为一个函数调用提供多个参数,而不是使用它在函数声明中声明一个可变参数。特别是,它可以多次用于解包参数,前提是所有这些使用都在任何位置参数之后。
1 $array1 = [[1],[2],[3]]; 2 $array2 = [4]; 3 $array3 = [[5],[6],[7]]; 4 5 6 $new_arr = array_merge($array2 ,...$array1); 7 $new_arr = array_merge(...$array3 ,...$array2);
function foo(&...$args)
{
var_dump($args);
$i = 0;
foreach ($args as &$arg) {
$arg = ++$i;
}
}
foo($a, $b, $c);
echo 'a = ', $a, ', b = ', $b, ', c = ', $c;