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