Я хочу создать функцию ( 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()
для получения всех аргументов функции как массива, но я не знаю, как передать эти аргументы другой функции.
Спасибо.
Попробуйте call_user_func_array
:
function my_function() { $args = func_get_args(); call_user_func_array("another_function", $args); }
В программировании и информатике это называется функцией приложения.
Использовать call_user_func_array
как
call_user_func_array('another_function', func_get_args());
Он еще не задокументирован, но вы можете использовать API отражения , особенно invokeArgs.
(возможно, я должен был использовать комментарий, а не полный пост)