До этого момента вы изучали, как определять функции с фиксированным числом параметров. Вариадическая функция - это функция, принимающая переменное количество аргументов.
Пример: функция для суммы двух чисел
Как же сделать так, чтобы мы могли суммировать неограниченное количество аргументов? 

Реализация суммы с произвольным числом аргументов (до PHP 5.6)

Чтобы функция могла принимать любое число аргументов, раньше использовали функции func_get_args() и func_num_args():
В этом примере у функции sum() нет явных параметров. При вызове можно передать любое количество аргументов. Внутри функции func_get_args() возвращает массив всех переданных значений.

Современный синтаксис: оператор ... (PHP 5.6+)

PHP 5.6 ввёл оператор ... (spread operator), который позволяет объявлять вариадические параметры более лаконично:
Здесь $numbers становится массивом всех переданных аргументов.

Типизация вариадических аргументов (PHP 7+)

В PHP 7 можно указывать типы для вариадических параметров:
Теперь функция принимает только целые числа и возвращает их сумму.

Правила использования вариадических параметров

Если у функции несколько параметров, вариадическим может быть только последний.
Пример:
Если вариадический параметр указан не последним, возникнет ошибка: Fatal error: Only the last parameter can be variadic in...
В одной функции может быть только один вариадический параметр.

Вывод

  • Вариадическая функция принимает переменное число аргументов.
  • Для определения используйте оператор ....
  • Вариадическим может быть только последний параметр функции.