将函数的参数直接传递给另一个函数
问题描述:
在PHP中,有没有办法将函数的参数直接发送到另一个函数,而无需逐个指定它们?有没有办法扩展func_get_arg()
,以便其他函数接收单个参数而不是单个数组?将函数的参数直接传递给另一个函数
我想从foo()
发送参数直bar()
像这样:
function foo($arg1, $arg2, $arg3)
{
$args = expand_args(func_get_arg());
bar($args);
}
答
肯定。
function foo($arg1, $arg2, $arg3)
{
$args = func_get_arg();
call_user_func_array("bar",$args);
}
答
如果你想调用它属于一个完全独立的类的实例的功能,即可以通过将第一个参数来call_user_func_array
作为数组来完成。
在此示例中,函数foo
接受任何参数,并将它们直接传递到$bar->baz->bob()
,并返回结果。
public function foo(/* example arguments */)
{
return call_user_func_array
(
array($bar->baz, 'bob'),
func_get_args()
);
}