PHP 在用户自定义函数中支持可变数量的参数列表。其实很简单,只需使用 func_num_args()
, func_get_arg()
,和 func_get_args()
函数即可。
可变参数并不需要特别的语法,参数列表仍按函数定义的方式传递给函数,并按通常的方式使用这些参数。
func_num_args()
返回传入函数的参数总个数
<?php
function demo ()
{
$numargs = func_num_args ();
echo $numargs;//输出3
}
demo ( 'a' , 'b' , 'c' );
func_get_args()
返回传入函数的参数列表,一个索引数组
<?php
function demo ()
{
$args = func_get_args();
var_dump($args);
}
demo ( 'a' , 'b' , 'c' );
结果
array (size=3)
0 => string 'a' (length=1)
1 => string 'b' (length=1)
2 => string 'c' (length=1)
func_get_arg( $arg_num )
根据参数索引从参数列表返回对应值
<?php
function foo()
{
$numargs = func_num_args();
echo $numargs; //输出3
if ($numargs >= 2) {
echo func_get_arg(1); //输出2
}
}
foo (1, 2, 3);