4-27 2,258 views
说明
func_get_args ( void ) : array
获取函数参数列表的数组。
该函数可以配合 func_get_arg() 和 func_num_args() 一起使用,从而使得用户自定义函数可以接受自定义个数的参数列表。
返回值
返回一个数组,其中每个元素都是目前用户自定义函数的参数列表的相应元素的副本。
测试:
<?php
function foo()
{
//获得传入参数的数量
$numargs = func_num_args();
echo "Number of arguments: $numargs<br />\n";
if ($numargs >= 2) {
echo "Second argument is: " . func_get_arg(1) . "<br />\n";
}
//将传入参数变为数组
$arg_list = func_get_args();
for ($i = 0; $i < $numargs; $i++) {
echo "Argument $i is: " . $arg_list[$i] . "<br />\n";
}
}
foo(1, 2, 3);
?>
输出:
Number of arguments: 3<br />
Second argument is: 2<br />
Argument 0 is: 1<br />
Argument 1 is: 2<br />
Argument 2 is: 3<br />
这个函数的其中一个用途是,我可以传一个数组,或者是传很多变量分别传
function handle_imgs($img){
$imgs = is_array($img) ? $img : func_get_args();
foreach($imgs as $v){
//do something
}
}
handle_imgs('a','b');
$imgs = [
'a',
'b'
];
handle_imgs($imgs);
//都会输出
a,b