Подтвердить что ты не робот

PHP, как передать значения func-get-args другой функции в виде списка аргументов?

Я хочу создать функцию (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() для получения всех аргументов функции как массива, но я не знаю, как передать эти аргументы другой функции.

Спасибо.

4b9b3361

Ответ 1

Попробуйте call_user_func_array:

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

В программировании и информатике это называется apply.

Ответ 2

Используйте call_user_func_array как

call_user_func_array('another_function', func_get_args());

Ответ 3

Он еще не задокументирован, но вы можете использовать reflection API, особенно invokeArgs.

(возможно, я должен был использовать комментарий, а не полный пост)