function a($function, $array)
{
global $test
$test->$function(implode(',' $array));
}
例如,我希望能够将各种参数传递给第二个函数。
因此,如果我通过a('x', array('a', 'b'))
,则执行$test->x('a', 'b');
由于使它成为一个字符串,而不是传递参数,不确定如何做,因此内爆显然不起作用。
答案 0 :(得分:5)
您可以使用call_user_func_array()。
call_user_func_array(array($test, $function), $array);
答案 1 :(得分:0)
function a($function, $array)
{
global $test
$test->{$function}($array[0], $array[1]);
}
或
function a($function, $arg1, $arg, $arg3...)
{
global $test
$arg = func_get_args();
unset($arg[0]); // because it is the $function arg
$test->{$function}($arg);
}