Это не ошибочно передавать в функцию больше аргументов, чем необходимо.
Вы получите ошибку, только если передадите несколько аргументов.
function test($arg1) {
var_dump($arg1);
}
test();
Выше приведёт к следующей ошибке:
Uncaught ArgumentCountError: слишком мало аргументов для функции ...
Если вы хотите получить первый аргумент плюс все остальные аргументы, переданные в функцию, вы можете сделать:
function test($arg1, ...$args) {
var_dump($arg1, $args);
}
test('test1', 'test2', 'test3');
В результате:
строка (5) "test1"
массив (2) {
[0] =>
строка (5) "test2"
[1] =>
строка (5) "test3"
}