在 PHP 中,可以编写一个能够接受具有可变元素数量的参数列表的函数。要声明变量参数列表,参数名称前面加上 “...”(三个点)符号。传递的值将收集到具有参数名称的数组中。
要调用此类函数,请在括号中放入任意数量的逗号分隔值。
函数中声明的形参是传递的所有值的数组。我们使用任何适当的 built_in 数组函数来执行该过程。
例
在下面的示例中,用户定义的函数 myfunction() 能够接收可变数量的值并找到它们的平均值。
它将产生以下输出 -
average = 11.4
尝试更改传递的数组的大小,然后再次运行该程序。
您可以使用 foreach 循环遍历函数内的数组。该函数可以在可变长度参数之前具有任何位置参数。从接收到的值中,将首先填充位置参数,将其他参数复制到数组中。
例
它将产生以下输出 -
First number: 5
Remaining numbers: 12 9 23 8 41
Remaining numbers: 12 9 23 8 41
可变参数函数
可以处理函数的可变数量的参数,即使没有 “...”语法。PHP 有 built_in 函数,如 func_num_args()、func_get_arg() 和 func_get_args(),它们可以用于类似的结果。
函数 | 描述 |
---|---|
func_num_args() | 返回传递给函数参数的数。 |
func_get_arg() | 从参数列表中返回一个项目 |
func_get_args() | 返回一个包含函数的参数列表的数组 |
例子
上面的变量参数示例可以使用这些函数重写,如下所示 -
它将产生以下输出 -
98
例子
此程序打印传递给函数的所有数字 -
它将产生以下输出 -
Numbers : 5 12 9 23 8 41