(PHP 4, PHP 5, PHP 7)
empty — Determină dacă o variabilă este vidă
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ă.
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.
Î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:
NULL
FALSE
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 |
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)
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ă.