(PHP 4, PHP 5, PHP 7, PHP 8)
isset — Détermine si une variable est déclarée et est différente de null
Détermine si une variable est considérée définie,
ceci signifie qu'elle est déclarée et est différente de null
.
Si une variable a été détruite avec la fonction unset(), elle n'est plus considéré comme définie.
isset() renverra false
lors de la vérification
d'une variable de valeur null
.
Il est à noter que aussi que le caractère nul ("\0"
) n'est
pas équivalent à la constante PHP null
.
Si plusieurs paramètres sont fournis, alors isset()
retournera true
seulement si tous les paramètres sont définis.
L'évaluation s'effectue de gauche à droite et s'arrête dès qu'une
variable non définie est rencontrée.
var
La variable à analyser.
vars
Variables supplémentaires.
Retourne true
si var
existe et a une valeur
autre que null
. false
sinon.
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']));
?>
L'exemple ci-dessus va afficher :
bool(false) bool(true) bool(true) bool(true) bool(false) bool(false)
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 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.