Nie rozumiem różnicy między isset()
a !empty()
.Jaka jest różnica między "isset()" i "! Empty()" w PHP?
Bo jeśli zmienna została ustawiona, czy to nie to samo, co niepusta?
Nie rozumiem różnicy między isset()
a !empty()
.Jaka jest różnica między "isset()" i "! Empty()" w PHP?
Bo jeśli zmienna została ustawiona, czy to nie to samo, co niepusta?
ISSET sprawdza zmienną, aby sprawdzić, czy została ustawiona. Innymi słowy, sprawdza, czy zmienna jest dowolną wartością z wyjątkiem wartości NULL lub nie ma przypisanej wartości. ISSET
zwraca TRUE
, jeśli zmienna istnieje i ma wartość inną niż NULL. Oznacza to, że zmienne oznaczone jako "", 0, "0" lub FALSE są ustawione, a zatem są TRUE
dla ISSET
.
PUSTE sprawdza, czy zmienna jest pusta. Pusty jest interpretowany jako: "(pusty łańcuch), 0 (liczba całkowita), 0,0 (zmienna)`, "0" (ciąg), NULL, FAŁSZ, tablica() (pusta tablica) i "$ var;" (Zmienna zadeklarowana, ale bez wartości w klasie.
Aby uzyskać więcej informacji, zobacz this article
"" nie jest pusty. "" jest pusty. – EresDev
Czy możesz podać jeden przykład, gdzie isset jest prawdziwy, ale pusty jest fałszywy. Również przykład, w którym isset jest fałszywy, ale pusty jest prawdziwy? – Unbreakable
Tabele porównania typu daje odpowiedzi na wszelkie wątpliwości na temat tych operatorów
Isset powrót false, jeśli zmienna nie została ustawiona lub jest zerowa i zwraca wartość true, jeśli zmienna została ustawiona i nie jest pusta
! pusty return true, jeśli zmienna została ustawiona i nie jest pusta. łańcuch pty, pusta tablica, "0", 0 i fałsz są zdefiniowane jako puste.
Source :http://php.net/manual/en/types.comparisons.php Ta strona przedstawia porównanie empty()
, is_null()
, isset()
.
I jeszcze jedna uwaga. empty()
sprawdza, czy zmienna istnieje również. To znaczy. jeśli wykonamy empty()
do zmiennej, która nie została zadeklarowana, nie otrzymamy błędu, empty()
zwraca "true". Dlatego możemy uniknąć isset()
, jeśli będziemy musieli sprawdzić, czy zmienna jest pusta.
Więc
isset($var) && !empty($var)
będzie równa
!empty($var)
Czytałaś instrukcję dla obu? [Tutaj] (http://www.php.net/isset) i [tutaj] (http://www.php.net/empty) – George
Przeczytaj również http://kunststube.net/isset/. Dzięki @deceze – hek2mgl
'isset();' sprawdza, czy zmienna jest ustawiona dosłownie, jak w zmiennej faktycznie wskazuje na coś. 'empty();' sprawdza czy wartość wskazywana przez zmienną zawiera cokolwiek. – AlphaDelta