Variable handling Funzioni
PHP Manual

empty

(PHP 4, PHP 5)

emptyDetermina se una variabile è valorizzata

Descrizione

bool empty ( mixed $var )

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.

Elenco dei parametri

var

Variabile da controllare

Nota:

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.

Valori restituiti

Restituisce FALSE se var esiste e ha un valore non vuoto e diverso da zero. Altrimenti restituisce TRUE.

I seguenti valori sono considerati vuoti:

Log delle modifiche

Versione Descrizione
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.

Esempi

Example #1 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';
}
?>

Example #2 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']));
?>

Risultato del precedente esempio in PHP 5.3:

bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)

Risultato del precedente esempio in PHP 5.4:

bool(true)
bool(false)
bool(false)
bool(false)
bool(true)
bool(true)

Note

Nota: Poiché questo è un costrutto del linguaggio e non una funzione, non può essere chiamato con le variabili funzione

Nota:

Quando viene utilizzata empty() su proprietà di oggetti inaccessibili, il metodo di overloading __isset() sarà chiamato, se dichiarato.

Vedere anche:


Variable handling Funzioni
PHP Manual