Manuel PHP
Précédent |  | Suivant

# isset

(PHP 3, PHP 4, PHP 5)

isset -- Détermine si une variable est affectée

## Description

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

isset() renvoie `TRUE` si la variable `var` est définie, `FALSE` sinon.

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 `NULL`.

> Attention ! : 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. 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
?>`

Cela fonctionne aussi avec les tableaux :

Exemple 2. Exemple avec isset() et un tableau

`<?php $a = array ('test' => 1, 'bonjour' => NULL); 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 ?>`

> Note : Comme ceci est une structure du langage, et non pas une fonction, il n'est pas possible de l'appeler avec les variables fonctions.

Voir aussi empty(), unset() defined(), le tableau de comparaison de types, array_key_exists() et l'opérateur de contrôle de rapport d'erreurs @.

Précédent | Sommaire | Suivant
is_unicode | Niveau supérieur | print_r