2009-09-22 209 views
2

在PHP中,有没有办法将函数的参数直接发送到另一个函数,而无需逐个指定它们?有没有办法扩展func_get_arg(),以便其他函数接收单个参数而不是单个数组?将函数的参数直接传递给另一个函数

我想从foo()发送参数直bar()像这样:

function foo($arg1, $arg2, $arg3) 
{ 
    $args = expand_args(func_get_arg()); 
    bar($args); 
} 

回答

5

肯定。

function foo($arg1, $arg2, $arg3) 
{ 
    $args = func_get_arg(); 

    call_user_func_array("bar",$args); 

} 
0

如果你想调用它属于一个完全独立的类的实例的功能,即可以通过将第一个参数来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() 
    ); 
} 
相关问题