function a($function, $array)
{
global $test
$test->$function(implode(',' $array));
}
例如,我希望能夠將各種參數傳遞給第二個函數。將數組傳遞到函數
所以,如果我通過a('x', array('a', 'b'))
它會執行$test->x('a', 'b');
的爆顯然不因使其成爲一個字符串,而不是傳遞參數,不知道如何做到這一點的工作。
function a($function, $array)
{
global $test
$test->$function(implode(',' $array));
}
例如,我希望能夠將各種參數傳遞給第二個函數。將數組傳遞到函數
所以,如果我通過a('x', array('a', 'b'))
它會執行$test->x('a', 'b');
的爆顯然不因使其成爲一個字符串,而不是傳遞參數,不知道如何做到這一點的工作。
你可以使用call_user_func_array()。
call_user_func_array(array($test, $function), $array);
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);
}
你的第二個替代方法將'a()'的多個參數作爲數組傳遞給'$ function'。 OP想要做相反的事情。 – 2011-03-04 02:53:55
這樣比較好。 – Joseadrian 2011-03-04 02:54:29