Почему PHP не выдает ошибку, когда я передаю слишком много параметров в функцию?

Я новичок в php. Я изучал параметры по умолчанию, поэтому я сделал эту функцию.

function doFoo($name = "johnny"){
    echo "Hello $name" . "<br />";
}

Я сделал эти вызовы

doFoo();
doFoo("ted");
doFoo("ted", 22);

Первые два вывели то, что ожидалось, т.е.

Hello johnny
Hello ted

но третий вызов также вывел

Hello ted

Я ожидал ошибки, ведь функция сделана для одного аргумента, а я вызываю ее с двумя аргументами.
Почему не было ошибки?

16
задан Donald Duck 9 August 2019 в 00:39
поделиться