isset
(PHP 4, PHP 5)
isset — Détermine si une variable est définie et est différente de NULL
Description
Détermine si une variable est définie et est différente de NULL
.
Si une variable a été détruite avec la fonction
unset(), la fonction isset() renverra
FALSE
. isset() renvera FALSE
lors du test d'une
variable de valeur NULL
. Notez aussi que le caractère nul
("\0") n'est pas équivalent à la constante PHP
Si plusieurs paramètres sont fournis, alors la fonction
isset() retournera TRUE
seulement si tous les paramètres
sont définis. L'évaluation s'effectue de gauche vers la droite et s'arrête
dès qu'une variable non-définie est rencontrée.
Liste de paramètres
-
var
-
La variable à analyser.
-
...
-
Une autre variable...
Valeurs de retour
Retourne TRUE
si var
existe et a une valeur
autre que NULL
, FALSE
sinon.
Historique
Version | Description |
---|---|
5.4.0 |
La vérification de positions non-numériques
d'une chaîne retourne maintenant |
Exemples
Exemple #1 Exemple avec isset()
<?php $var = ''; // Ceci est vrai, alors le texte est affiché if (isset($var)) { echo 'Cette variable existe, donc je peux l\'afficher.'; } // Dans les exemples suivants, nous utilisons var_dump() pour afficher // le retour de la fonction isset(). $a = 'test'; $b = 'anothertest'; var_dump(isset($a)); // TRUE var_dump(isset($a, $b)); // TRUE unset ($a); var_dump(isset($a)); // FALSE var_dump(isset($a, $b)); // FALSE $foo = NULL; var_dump(isset($foo)); // FALSE ?>
Fonctionne aussi avec les tableaux :
<?php $a = array ('test' => 1, 'bonjour' => NULL, 'pie' => array('a' => 'apple')); var_dump(isset($a['test'])); // TRUE var_dump(isset($a['foo'])); // FALSE var_dump(isset($a['bonjour'])); // FALSE // La clé 'bonjour' vaut NULL et est considérée comme non existante // Si vous voulez vérifier l'existence de cette clé, utilisez cette fonction var_dump(array_key_exists('bonjour', $a) ); // TRUE // Vérification des valeurs en profondeur var_dump(isset($a['pie']['a'])); // TRUE var_dump(isset($a['pie']['b'])); // FALSE var_dump(isset($a['cake']['a']['b'])); // FALSE ?>
Exemple #2 isset() sur des positions dans une chaîne
<?php $expected_array_got_string = 'somestring'; var_dump(isset($expected_array_got_string['some_key'])); var_dump(isset($expected_array_got_string[0])); var_dump(isset($expected_array_got_string['0'])); var_dump(isset($expected_array_got_string[0.5])); var_dump(isset($expected_array_got_string['0.5'])); var_dump(isset($expected_array_got_string['0 Mostel'])); ?>
Résultat de l'exemple ci-dessus en PHP 5.3 :
bool(true) bool(true) bool(true) bool(true) bool(true) bool(true)
Résultat de l'exemple ci-dessus en PHP 5.4 :
bool(false) bool(true) bool(true) bool(true) bool(false) bool(false)
Notes
isset() fonctionne uniquement avec des variables car l'utilisation de toute autre chose aura comme conséquence une erreur d'analyse. Pour vérifier si une constants est définie, utilisez la fonction defined().
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
- empty() - Détermine si une variable est vide
- __isset()
- unset() - Détruit une variable
- defined() - Vérifie l'existence d'une constante
- le tableau de comparaison de types
- array_key_exists() - Vérifie si une clé existe dans un tableau
- is_null() - Indique si une variable vaut NULL
- l'opérateur de contrôle de rapport d'erreurs @