php可变长参数处理
2020-10-28 13:39:24 来源:admin 点击:848
PHP 中提供了三个相关的函数:
1、 func_num_args( ) -- 返回传递给函数的参数个数
函数原型:
int func_num_args(void)
示例:
function open_database($DB, $cache_size_or_values=null, $cache_size=null)
{
switch (function_num_args())
{
case 1:
$r = select_db($DB);
break;
case 2:
$r = select_db($DB, $cache_size_or_values);
break;
case 3:
$r = select_db($DB, $cache_size_or_values, $cache_size);
break;
}
return is_resource($r);
}
2、func_get_arg() -- 返回指定的参数
函数原型:
mixed func_get_arg ( int arg_num)
参数列表中的第一个参数的 arg_num 是从 0 开始
<?php
function some_func($a, $b)
{
for($i = 0; $i < func_num_args(); ++ $i)
{
$param = func_get_arg($i);
echo "the param is $param\n";
}
}
some_func(1, 3, 5, 7, 9);
?>
3、func_get_args() -- 以数组的形式返回参数列表
函数原型 :
array func_get_args ( void )
示例:
<?php
function some_other_func($a, $b)
{
$param = func_get_args();
$param = join(", ", $param); // 分解显示
echo "the arglist is: $param\n";
}
some_other_func(1,3,5,7,9);
?>