czytałem w WordPress podręcznika gdzie znalazłem krótki opis następujących funkcji:Dlaczego funkcje PHP mogą przyjmować argumenty typu boolean, gdy prosi się o liczby całkowite?
function is_super_admin($user_id = false) {...
Funkcja ta określa, czy użytkownik jest administratorem witryny.
Jednak moje pytanie dotyczy tego, jak PHP radzi sobie z parametrami.
Powyższa funkcja otrzymuje parametr liczby całkowitej, a jeśli nic nie przekazujesz, to przydzieli domyślną wartość FALSE
.
Oto moje pytanie:
FALSE
jest rodzajem BOOLEAN
danych, a funkcja ta powinna przyjąć typ INTEGER
danych.
Jak więc można zezwolić na podanie wartości boolowskiej, kiedy powinniśmy podać wartość całkowitą?
Nie deklarujesz nigdzie, że parametr jest "int", dlaczego * nie powinien * działa? – deceze
PHP jest dynamicznie wpisywane. Możesz przekazywać argumenty różnych typów, o ile nie podano inaczej. W tym konkretnym przypadku możesz w zasadzie przekazać cokolwiek. – Mjh
Przeczytaj więcej o [typie żonglowania] (http://php.net/manual/en/language.types.type-juggling.php) w PHP. – axiac