将函数调用转发给另一个函数,而不知道其他函数的参数

时间:2011-09-10 20:11:43

标签: php php-5.2

在PHP 5.3中,我们可以这样做。

function func() {
    return call_user_func_array('another_func', func_get_args());
}

function another_func($x, $y) { return $x + $y; }

echo func(1, 2); // print 3 in PHP 5.3

请注意funcanother_func的参数列表一无所知。

是否可以在PHP 5.2中执行此操作?

1 个答案:

答案 0 :(得分:3)

只需将func_get_args()存储到变量中,然后将变量传递给call_user_func_array()

function func() {
    $args = func_get_args();
    return call_user_func_array('another_func', $args);
}

Example