Non capisco la differenza tra isset()
e !empty()
.Qual è la differenza tra "isset()" e "! Empty()" in PHP?
Perché se una variabile è stata impostata, non è lo stesso di non essere vuota?
Non capisco la differenza tra isset()
e !empty()
.Qual è la differenza tra "isset()" e "! Empty()" in PHP?
Perché se una variabile è stata impostata, non è lo stesso di non essere vuota?
ISSET controlla la variabile per vedere se è stata impostata. In altre parole, controlla se la variabile è un valore diverso da NULL o non ha un valore assegnato. ISSET
restituisce TRUE
se la variabile esiste e ha un valore diverso da NULL. Ciò significa che le variabili assegnate a "", 0, "0" o FALSE sono impostate e pertanto sono TRUE
per ISSET
.
EMPTY controlla se una variabile è vuota. Empty è interpretato come: "" (una stringa vuota), 0 (numero intero), 0.0 (float) `," 0 "(stringa), NULL, FALSE, array() (una matrice vuota) e" $ var; " (Una variabile dichiarata, ma senza un valore in una classe.
Per ulteriori informazioni, vedere this article
"" non è vuoto. "" è vuoto. – EresDev
Puoi dare un esempio in cui l'isset è vero ma vuoto è falso. Anche un esempio in cui isset è falso ma vuoto è vero? – Unbreakable
Le tabelle di confronto di tipo dà risposta di tutte le domande su questi operatori
Isset ritorno false se la variabile non è stata impostata o è nulla e restituisce true se la variabile è stata impostata e non è nulla
! empty return true se la variabile è stata impostata e non è vuota. stringa pty, matrice vuota, "0", 0 e falso sono definiti come vuoti.
Source :http://php.net/manual/en/types.comparisons.php Questa pagina mostra il confronto di empty()
, is_null()
, isset()
.
E ancora un'osservazione. empty()
controlla se la variabile esiste pure. Cioè se eseguiamo empty()
nella variabile che non è stata dichiarata, non riceviamo un errore, empty()
restituisce 'true'. Pertanto potremmo evitare isset()
se successivamente dobbiamo verificare se la variabile è vuota.
Così
isset($var) && !empty($var)
sarà uguale a
!empty($var)
Hai letto il manuale di per entrambi? [Qui] (http://www.php.net/isset) e [qui] (http://www.php.net/empty) – George
Leggi questo http://kunststube.net/isset/ in aggiunta. Grazie @deceze – hek2mgl
'isset();' verifica se la variabile è letteralmente impostata, poiché nella variabile punta effettivamente a un valore qualcosa. 'empty();' verifica se il valore della variabile punta a contenere qualcosa. – AlphaDelta