empty

(PHP 4, PHP 5, PHP 7)

emptyDetermină dacă o variabilă este vidă

Descrierea

empty ( mixed $var ) : bool

Determină dacă o variabilă este considerată vidă. O variabilă este considerată vidă dacă ea nu există, sau dacă valoarea ei este egală cu FALSE. Funcția empty() nu generează o avertizare dacă variabila nu există.

Parametri

var

Variabla pentru a fi verificată

Notă:

Anterior versiunii PHP 5.5, empty() susține doar variabile; orice altceva va duce la o eroare de interpretare. Cu alte cuvinte, următoarea comandă nu va funcționa: empty(trim($name)). În loc, utilizați trim($name) == false.

Nici o avertizare nu este generată dacă variabila nu există. Aceasta înseamnă că empty() este în esență varianta prescurtată a !isset($var) || $var == false.

Valorile întoarse

Întoarce FALSE dacă var are o valoare nevidă și neegală cu zero. În caz contrar, întoarce TRUE.

Următoarele entități sunt considerate a fi vide:

  • "" (un string vid)
  • 0 (0 în calitate de integer)
  • 0.0 (0 în calitate de float)
  • "0" (0 în calitate de string)
  • NULL
  • FALSE
  • array() (un tablou vid)
  • $var; (o variabilă declarată, dar fără o valoare)

Istoricul schimbărilor

Versiune Descriere
5.5.0

empty() acum susține și expresii, nu doar variabile.

5.4.0

Verificarea deplasamentelor non-numerice ale șirurilor de caractere întoarce TRUE.

Exemple

Example #1 O simplă conparație între empty() / isset().

<?php
$var 
0;

// Evaluează în true, deoarece $var este vidă
if (empty($var)) {
    echo 
'$var is either 0, empty, or not set at all';
}

// Evaluează în true, deoarece $var este stabilită
if (isset($var)) {
    echo 
'$var is set even though it is empty';
}
?>

Example #2 empty() cu deplasamente în șiruri de caractere

PHP 5.4 schimbă modul în care funcționează empty() când îi sunt transmise deplasamente în șiruri de caractere.

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

Exemplul de mai sus va afișa în PHP 5.3:

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

Exemplul de mai sus va afișa în PHP 5.4:

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

Note

Notă: Deoarece aceasta este o construcție a limbajului și nu o funcție, ea nu poate fi apelată utilizând funcții de operare cu variabile .

Notă:

La utilizarea empty() asupra proprietăților inaccesibile ale obiectelor, va fi apelată metoda de supraîncărcare __isset(), dacă este declarată.

A se vedea și