2011-03-04 71 views
1
function a($function, $array) 
{ 
    global $test 

    $test->$function(implode(',' $array)); 
} 

例如,我希望能够将各种参数传递给第二个函数。将数组传递到函数

所以,如果我通过a('x', array('a', 'b'))它会执行$test->x('a', 'b');

的爆显然不因使其成为一个字符串,而不是传递参数,不知道如何做到这一点的工作。

回答

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); 
} 
+1

你的第二个替代方法将'a()'的多个参数作为数组传递给'$ function'。 OP想要做相反的事情。 – 2011-03-04 02:53:55