2011-03-04 67 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