empty

(PHP 4, PHP 5, PHP 7, PHP 8)

emptyDétermine si une variable est vide

Description

empty(mixed $var): bool

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.

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. Cela s'applique également aux structures imbriquées, telles qu'un tableau multidimensionnel ou des propriétés chaînées.

Valeurs de retour

Retourne true si var n'existe pas ou a une valeur vide ou égale à zéro, c.à.d. qu'elle est considérée "false", voir conversion en booléen. Sinon retourne false.

Exemples

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 Mostel']));
?>

L'exemple ci-dessus va afficher :

bool(true)
bool(false)
bool(false)
bool(true)
bool(true)

Exemple #3 empty() sur les tableaux multidimensionnels

<?php
$multidimensional
= [
'some' => [
'deep' => [
'nested' => 'value'
]
]
];

if (!empty(
$multidimensional['some']['some']['nested'])) {
$someVariable = $multidimensional['some']['deep']['nested'];
}

var_dump(empty($multidimensional['some-undefined-key']));
var_dump(empty($multidimensional['some']['deep']['unknown']));
var_dump(empty($multidimensional['some']['deep']['nested']));
?>

L'exemple ci-dessus va afficher :

bool(true)
bool(true)
bool(false)

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

Voir aussi