Для создания произвольного количества аргументов следует использовать ключевое слово ParamArray.
В РНР предусмотрена возможность использования переменных, ссылающихся на функции. Переменная может
содержать имя функции, и функция, имя которой содержится в переменной, может быть вызвана путем
использования соответствующего синтаксиса. Подобным способом во время выполнения скрипта можно
определять, какая именно функция будет вызвана.
Все функции, которые были разработаны ранее, имели фиксированное количество аргументов. Но в РНР предусмотрена
возможность работы с функциями, которые имеют переменное количество аргументов. Это не то же самое,
что использование значений аргументов по умолчанию, речь идет о том, что функция может быть вызвана
с разным количеством аргументов, каждый из которых может быть проанализирован при помощи специализированных
функций. При этом функция может быть вызвана с таким количеством аргументов, с каким потребуется.