Funkcja empty() w PHP służy do sprawdzenia, czy zmienna jest "pusta" w rozumieniu PHP, czyli czy ma wartość traktowaną jako fałszywa (tzw. falsy). Zwraca ona zawsze wynik logiczny: true albo false.
Dla zmiennej $a ustawionej na wartość liczbową 0, PHP traktuje tę wartość jako "pustą". W praktyce oznacza to, że empty($a) zwróci TRUE, ponieważ 0 jest jedną z wartości, które w warunkach logicznych są oceniane jako fałsz.
Dlaczego pozostałe odpowiedzi są niepoprawne?
- NULL: empty() nie zwraca NULL. NULL może być wartością zmiennej, ale sama funkcja zwraca wynik typu boolean.
- FALSE: dla $a = 0 wynik nie będzie FALSE, bo 0 spełnia kryterium "pustości" w PHP.
- TRUE: jest poprawne, bo odpowiada zachowaniu empty() dla liczby 0.
Wskazówka egzaminacyjna: nie myl "puste" z "nieustawione". Do sprawdzania, czy zmienna istnieje/nie jest niezdefiniowana, częściej używa się isset(), a do rozróżniania typów i wartości pomocne jest porównanie ścisłe (===).