Неограниченные аргументы для функции PHP?

В php, как бы вы создали функцию, которая могла бы принимать неограниченное количество параметров: myFunc($p1, $p2, $p3, $p4, $p5...);

Мой следующий вопрос: как бы вы передали им другую функцию?

 function myFunc($params){ anotherFunc($params); } 

но anotherFunc получит их, как если бы он был вызван с использованием anotherFunc($p1, $p2, $p3, $p4, $p5...)

Solutions Collecting From Web of "Неограниченные аргументы для функции PHP?"

 call_user_func_array('anotherFunc', func_get_args()); 

func_get_args возвращает массив, содержащий все аргументы, переданные функции, из которой он был вызван, а call_user_func_array вызывает заданную функцию, передавая ей массив аргументов.

Раньше вы должны были использовать func_get_args() , но в новом php 5.6 (в настоящее время в бета-версии ) вы можете использовать ... operator вместо использования.

Так, например, вы можете написать:

 function myFunc(...$el){ var_dump($el); } 

и $el будет иметь все элементы, которые вы пройдете.

Есть ли причина, по которой вы не можете использовать 1 аргумент функции и передать всю информацию в виде массива?

Ознакомьтесь с документацией для списков аргументов переменной длины для PHP.

Вторая часть вашего вопроса относится к переменным функциям :

… если к имени переменной добавлены круглые скобки, PHP будет искать функцию с тем же именем, что и переменная, и будет пытаться ее выполнить.