Да, вы должны указать все параметры (аргументы) в своей функции (кроме последней!), Если она написана, как в вашем примере.
Один из альтернатив - вместо этого передать массив как параметр, но это не сработает, если метод/функция вызывается из URL-адреса.
Вы не можете указать, какой параметр, чтобы передать, когда вы делаете вызов, как в вашем примере:
foo('hello', $z='world');
Вы только передавая второй параметр в вашем примере.
Вы должны сделать одно из следующих вызовов функции:
foo('hello', 'world');
foo('hello', '', 'world');
Только самые правые параметры функции могут быть опущены. Альтернативой было бы изменение функции для принятия массива. –
Да, вы должны – steven
Мне кажется, что это была бы хорошая функция для поддержки :( – user2651804