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.

5.0.0

Gli oggetti senza proprietà non sono più considerati vuoti.

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