将数组传递给函数

时间:2011-03-04 02:41:37

标签: php arrays function

function a($function, $array)
{
    global $test

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

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

因此,如果我通过a('x', array('a', 'b')),则执行$test->x('a', 'b');

由于使它成为一个字符串,而不是传递参数,不确定如何做,因此内爆显然不起作用。

2 个答案:

答案 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);
}