Fonctions de gestion des variables
PHP Manual

isset

(PHP 4, PHP 5, PHP 7)

issetDétermine si une variable est définie et est différente de NULL

Description

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

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() renverra 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 FALSE.

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 5.4 modifie le comportement de la fonction isset() lorsqu'on lui passe 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

Avertissement

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


Fonctions de gestion des variables
PHP Manual