empty
Determina se una variabile è valorizzata
Determina se una variabile è da considerare vuota. Una variabile è considerata vuota se non esiste oppure se il suo valore è uguale a false. empty non genera un avviso se la variabile non esiste.
var Variabile da controllare Prima di PHP 5.5, empty supporta solo variabili; qualsiasi altra cosa si traduce in un errore di analisi. In altre parole, il seguente comando non funziona: empty(trim($name)). Invece, utilizzare trim($name) == false. Se la variabile non esiste, nessun avviso verrà generato. Questo significa che empty è essenzialmente l'equivalente conciso di !isset($var) || $var == false.
Restituisce false se var esiste e ha un valore non vuoto e diverso da zero.
Altrimenti restituisce true.
I seguenti valori sono considerati vuoti:
"" (una stringa vuota)
0 (0 come intero)
0.0 (0 come numero decimale)
"0" (0 come stringa)
null
false
array() (un array vuoto)
Version
Description
5.5.0
empty ora supporta le espressioni, piuttosto che solo
variabili.
5.4.0
Il controllo su offset non numerici di stringhe restituisce true.
Semplici confronti empty / isset. <?php $var = 0; // Valutata come true perché $var è vuota if (empty($var)) { echo '$var is either 0, empty, or not set at all'; } // Valutata come vera perché $var è impostata if (isset($var)) { echo '$var is set even though it is empty'; } ?>
on String Offsets
PHP 5.4 cambia il comportamento di empty quando vengono passati offset di stringhe.
<?php
$expected_array_got_string = 'somestring';
var_dump(empty($expected_array_got_string['some_key']));
var_dump(empty($expected_array_got_string[0]));
var_dump(empty($expected_array_got_string['0']));
var_dump(empty($expected_array_got_string[0.5]));
var_dump(empty($expected_array_got_string['0.5']));
var_dump(empty($expected_array_got_string['0 Mostel']));
?>
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
bool(true)
bool(false)
bool(false)
bool(false)
bool(true)
bool(true)
isset __isset() unset array_key_exists count strlen la tabella di comparazione dei tipi