(PHP 4, PHP 5, PHP 7, PHP 8)
empty — Détermine si une variable est vide
Détermine si une variable est considérée comme vide.
Une variable est considérée comme vide si elle n'existe pas,
ou si sa valeur équivaut à false
. La fonction empty()
ne génère pas d'alerte si la variable n'existe pas.
var
Variable à vérifier.
Aucune alerte n'est générée si la variable n'existe pas. Cela signifie que empty() est strictement équivalent à !isset($var) || $var == false.
Retourne true
si var
n'existe pas ou a une
valeur vide ou égale à zéro, c.à.d. qu'elle est considérée "falsey", voir
conversion en booléen.
Sinon retourne false
.
Exemple #1 Une comparaison simple empty() / isset().
<?php
$var = 0;
// Évaluée à vrai car $var est vide
if (empty($var)) {
echo '$var vaut soit 0, vide, ou pas définie du tout';
}
// Évaluée à vrai car $var est définie
if (isset($var)) {
echo '$var est définie même si elle est vide';
}
?>
Exemple #2 empty() sur des positions dans une chaîne
<?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']));
?>
L'exemple ci-dessus va afficher :
bool(true) bool(false) bool(false) bool(false) bool(true) bool(true)
Note: Comme ceci est une structure du langage, et non pas une fonction, il n'est pas possible de l'appeler avec les fonctions variables ou arguments nommés.
Note:
Lors de l'utilisation de cette fonction sur des propriétés d'objet inaccessibles, la méthode magique __isset() sera appelée, si elle existe.