PHP在用户自定义函数中支持可变数量的参数列表,在PHP5.6及以上的版本中,由语法…语法实现:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
<?php
    
function sum(...$numbers)
{
	$a = 0;
	foreach ($numbers as $number) {
		$a += $number;
	}
	return $a;
}
echo sum(1,2,3,4);

输出结果为:

1
10

可以看出…语法是将传入参数格式化为数组,则可以反过来:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
<?php
    
function add($a, $b) {
	return $a + $b;
}

echo add(...[1, 2])."\n";

$a = [1, 2];
echo add(...$a);

输出结果为:

1
3  3