(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 valori 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)
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ă.