empty

(PHP 4, PHP 5)

emptyDétermine si une variable est vide

Description

bool empty ( mixed $var )

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 TRUE.

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

  1. <?php
  2. $var = 0;
  3. // Evalué à vrai car $var est vide
  4. if (empty($var)) {
  5. echo '$var vaut soit 0, vide, ou pas définie du tout';
  6. }
  7. // Evalué à vrai car $var est défini
  8. if (isset($var)) {
  9. echo '$var est définie même si elle est vide';
  10. }
  11. ?>

Exemple #2 empty() sur des positions dans une chaîne

  1. <?php
  2. $expected_array_got_string = 'somestring';
  3. var_dump(empty($expected_array_got_string['some_key']));
  4. var_dump(empty($expected_array_got_string[0]));
  5. var_dump(empty($expected_array_got_string['0']));
  6. var_dump(empty($expected_array_got_string[0.5]));
  7. var_dump(empty($expected_array_got_string['0.5']));
  8. var_dump(empty($expected_array_got_string['0 Mostel']));
  9. ?>

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

LoadingChargement en cours