Php 简明教程
PHP - Variable Arguments
在 PHP 中,可以编写一个能够接受具有可变数量元素的自变量列表的函数。要声明可变自变量列表,应在自变量名称前加上“…”(三个点)符号。所传递的值将收集到一个数组中,该数组名称是自变量的名称。
function myfunction(...$arg) {
Statement1;
Statement2;
}
要调用这样的函数,请在圆括号中添加任意数量用逗号分隔的值。
myfunction(v1, v2, v3, . . . , vn);
在函数中声明的形式自变量是传递的所有值的一个数组。我们可以使用任何适当的内置数组函数来执行此过程。
Example
在以下示例中,用户定义的函数 myfunction() 能够接收可变数量的值并找到它们的平均值。
<?php
function myfunction(...$numbers) {
$avg = array_sum($numbers)/count($numbers);
return $avg;
}
$avg = myfunction(5, 12, 9, 23, 8);
echo "average = $avg";
?>
它将生成以下 output −
average = 11.4
尝试更改所传递数组的大小,并再次运行该程序。
可以在函数里面使用 foreach 循环来遍历数组。该函数可以在可变长度的自变量之前具有任何位置自变量。在所接收的值中,位置自变量将首先填充,而其他值将复制到数组中。
Example
<?php
function myfunction($x, ...$numbers) {
echo "First number: $x" . PHP_EOL;
echo "Remaining numbers: ";
foreach ($numbers as $n) {
echo "$n ";
}
}
myfunction(5, 12, 9, 23, 8, 41);
?>
它将生成以下 output −
First number: 5
Remaining numbers: 12 9 23 8 41
Variadic Functions
即使没有“…”语法,也可以处理传递给函数的可变数量的自变量。PHP 具有内置的函数,例如 func_num_args()、func_get_arg() 和 func_get_args(),这些函数可以用类似的结果来使用。
-
func_num_args() − 返回传递给函数的自变量的数量。
-
func_get_arg() - 从参数列表返回一个项目
-
func_get_args() - 返回一个包含函数参数列表的数组