empty
(PHP 4, PHP 5)
empty — Détermine si une variable est vide
Description
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.
Liste de paramètres
-
var
-
Variable à vérifier.
Note:
Avant PHP 5.5, la fonction empty() ne supportait que les variables ; tout autre type retournait une erreur d'analyse. En d'autres termes, ce qui suit ne fonctionnait pas : empty(trim($name)). A la place, utilisez trim($name) == false.
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.
Valeurs de retour
Retourne FALSE
si var
existe et est non-vide,
et dont la valeur n'est pas zéro.
Ce qui suit est considéré comme étant vide :
- "" (une chaîne vide)
- 0 (0 en tant qu'entier)
- 0.0 (0 en tant que nombre à virgule flottante)
- "0" (0 en tant que chaîne de caractères)
NULL
FALSE
- array() (un tableau vide)
- $var; (une variable déclarée, mais sans valeur)
Historique
Version | Description |
---|---|
5.5.0 |
empty() supporte maintenant les expressions, et plus seulement les variables. |
5.4.0 |
La vérification des positions non-numériques
d'une chaîne retourne maintenant |
5.0.0 |
Les objets n'ayant pas de propriété ne sont plus considérés comme vide. |
Exemples
Exemple #1 Une comparaison simple empty() / isset().
<?php $var = 0; // Evalué à vrai car $var est vide if (empty($var)) { echo '$var vaut soit 0, vide, ou pas définie du tout'; } // Evalué à vrai car $var est défini 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'])); ?>
Résultat de l'exemple ci-dessus en PHP 5.3 :
bool(false) bool(false) bool(false) bool(false) bool(false) bool(false)
Résultat de l'exemple ci-dessus en PHP 5.4 :
bool(true) bool(false) bool(false) bool(false) bool(true) bool(true)
Notes
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.
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.
Voir aussi
- isset() - Détermine si une variable est définie et est différente de NULL
- __isset()
- unset() - Détruit une variable
- array_key_exists() - Vérifie si une clé existe dans un tableau
- count() - Compte tous les éléments d'un tableau ou quelque chose d'un objet
- strlen() - Calcule la taille d'une chaîne
- Les tables de comparaison des types