Jestem n00b na php. Dowiedziałem się o parametrach domyślnych, więc wykonałem tę funkcję.Dlaczego PHP nie generuje błędu, gdy przekazuję zbyt wiele parametrów do funkcji?
function doFoo($name = "johnny"){
echo "Hello $name" . "<br />";
}
zrobiłem tych połączeń
doFoo();
doFoo("ted");
doFoo("ted", 22);
Pierwsze dwa drukowane co oczekiwano tj
Hello johnny
Hello ted
ale trzeci wezwanie drukowane również
Hello ted
I oczekiwał błąd, po wszystkim func Podejmowana jest jedna argumentacja, podczas gdy ja ją nazywam dwoma argumentami.
Dlaczego nie wystąpił błąd?
ponieważ w php możesz użyć tego rodzaju funkcji: http://it.php.net/func_get_args – dynamic