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

Kir*_*lla 33 php

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

function my_function() {    
   another_function($arg1, $arg2, $arg3 ... $argN);    
}
Run Code Online (Sandbox Code Playgroud)

所以,想打电话my_function(1,2,3,4,5)来打电话another_function(1,2,3,4,5)

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

谢谢.

Bri*_*nna 51

试试call_user_func_array:

function my_function() {    
    $args = func_get_args();
    call_user_func_array("another_function", $args);
}
Run Code Online (Sandbox Code Playgroud)

在编程和计算机科学中,这称为应用函数.

  • 请注意,func_get_args不能用作另一个函数的参数!您需要一个临时变量来首先捕获参数. (9认同)
  • @Jordan,看看这个问题:http://stackoverflow.com/questions/4979507/difference-in-behaviour-of-func-num-args-func-get-arg-and-func-get-args-从-PHP (2认同)

Pen*_*m10 11

call_user_func_array 得像

call_user_func_array('another_function', func_get_args());
Run Code Online (Sandbox Code Playgroud)