(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.
varLa variable à analyser.
varsVariables supplémentaires.
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.