PHP,如何将func-get-args值作为参数列表传递给另一个函数?

时间:2010-01-24 11:09:28

标签: php

我想创建一个函数(my_function())获取无限数量的参数并将其传递给另一个函数(call_another_function())。

function my_function() {    
   another_function($arg1, $arg2, $arg3 ... $argN);    
}

因此,想要致电my_function(1,2,3,4,5)并致电another_function(1,2,3,4,5)

我知道我应该使用func_get_args()将所有函数参数作为数组获取,但我不知道如何将这些参数传递给另一个函数。

谢谢。

3 个答案:

答案 0 :(得分:50)

尝试call_user_func_array

function my_function() {    
    $args = func_get_args();
    call_user_func_array("another_function", $args);
}

在编程和计算机科学中,这被称为apply函数。

答案 1 :(得分:11)

使用call_user_func_array

call_user_func_array('another_function', func_get_args());

答案 2 :(得分:1)

尚未记录,但您可以使用reflection API,尤其是invokeArgs。

(也许我应该使用评论而非完整帖子)