Déterminer si une variable est définie et différente de NULL

PHP cours tutorial

La fonction isset()

(PHP 4, PHP 5)

La fonction isset() détermine si une variable est définie et est différente de NULL.

Syntaxe :

isset ( $var [, $var [, $... ]] )

La fonction isset() 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.

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

L’argument $var est la variable à vérifier.

La fonction isset() retourne TRUE si var existe et a une valeur autre que NULL, FALSE sinon.

 

Avertissement

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

Exemple 1:

<?php

 

$var = '';

 

// Ceci est vrai, alors le texte est affiché

if (isset($var)) {

    echo 'Cette variable existe, donc vous pouvez l\'utiliser.';

}

 

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

 

?>

 

Exemple 2 : Fonctionne aussi avec les tableaux :

<?php

 

$a = array ('test' => 1, 'bonjour' => NULL);

 

var_dump(isset($a['test']));            // TRUE

var_dump(isset($a['foo']));             // FALSE pas définit

var_dump(isset($a['bonjour']));           /* FALSE car c'est NULL*/

 

/* 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

 

?>

 

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.

Exemple 3 :

<?php

/* Notez que isset($ var) ne distingue pas les deux cas où $var n'est pas définie, ou est nulle. Voir le code suivant. */

unset($undefined);

$null = null;

 

if (true === isset($undefined)){

echo 'isset($undefined) === true <br>';

} else {

echo 'isset($undefined) === false <br>';

}

if (true === isset($null)){

echo 'isset($null) === true <br>';

} else {

echo 'isset($null) === false <br>'; 

}           

?>