PHP 'isset' vs 'vuoto'

January 10

Il "isset" e le funzioni di "vuoti", sia di controllo per l'esistenza di dati in una variabile, ma restituiscono opposti risultati. La funzione isset restituisce true se esistono dati, e la funzione vuoto restituisce true se non esistono dati. Sebbene entrambe le funzioni di controllo per l'esistenza di dati, essi non sono esatti opposti uno all'altro. Ogni funzione utilizza criteri diversi per determinare la presenza di dati, con la funzione isset essere più restrittiva rispetto alla funzione vuoto. Prendetevi il tempo per capire i casi specifici in cui ogni funzione valuterà come vero o falso e utilizzare la funzione appropriata in base al tipo di operazione che si sta eseguendo.

La funzione isset

La funzione isset restituisce false se una variabile è o non definita o nullo; in caso contrario, restituisce true. Una variabile che contiene una stringa vuota non è nullo, non è una variabile che è stato inizializzato come un array vuoto. Per esempio:

echo isset ($ y); // false
$ Y = null;
echo isset ($ y); // false
$ Y = "";
echo isset ($ y); // vero

La funzione vuoto

La funzione di vuoto è meno restrittiva rispetto alla funzione isset. Restituisce vero se una variabile non è impostata - non definita o nullo - e restituisce vero anche se una variabile è una stringa vuota, un array vuoto, falso, zero o "0" Qualsiasi altro valore restituisce false.

utilizzando isset

Quando si utilizza una matrice per memorizzare un elenco e si desidera controllare se un elemento è presente nella lista, si ottiene un errore se si tenta di accedere a un elemento che non è nella lista. La funzione isset è un modo utile per controllare la lista senza generare errori. Ad esempio, se si dispone di un elenco di elementi in inventario come un array associativo, con il nome della voce come chiave e il numero in azione come valore, è possibile controllare per vedere se un oggetto è in magazzino utilizzando isset vedere se è nella lista e poi controllando l'inventario. Se si controlla l'inventario e l'articolo non è nella lista, si ottiene un errore. Per esempio:

if (isset ($ inventario [ "matita"]) && $ inventario [ "matita"]> 0)
echo "In magazzino";
altro
echo "Non disponibili";

utilizzando vuoto

La funzione di vuoto è particolarmente utile quando si desidera controllare che un utente ha inserito un valore in un campo di dati. Mentre la raccolta di input su un modulo, per esempio, si inizializza una variabile stringa in una stringa vuota e una variabile numerica a zero prima di metterli sul modulo. Dopo l'utente invia il suo ingresso, è possibile utilizzare la funzione di vuoto per assicurare che ha effettivamente inserito un valore nel campo. Per esempio:

if (! empty ($ nome) &&! empty ($ birth_year))
echo "Input completo";
altro
echo "È necessario completare tutti i campi di dati";