见func_get_args
:
function foo()
{
$numArgs = func_num_args();
echo 'Number of arguments:' . $numArgs . "\n";
if ($numArgs >= 2) {
echo 'Second argument is: ' . func_get_arg(1) . "\n";
}
$args = func_get_args();
foreach ($args as $index => $arg) {
echo 'Argument' . $index . ' is ' . $arg . "\n";
unset($args[$index]);
}
}
foo(1, 2, 3);
编辑 1
例如,当您调用foo(17, 20, 31)
func_get_args()
不知道第一个参数代表$first
变量时。当您知道每个数字索引代表什么时,您可以执行此操作(或类似操作):
function bar()
{
list($first, $second, $third) = func_get_args();
return $first + $second + $third;
}
echo bar(10, 21, 37); // Output: 68
如果我想要一个特定的变量,我可以省略其他变量:
function bar()
{
list($first, , $third) = func_get_args();
return $first + $third;
}
echo bar(10, 21, 37); // Output: 47