unset() détruit les variables spécifiées. Notez qu'en PHP 3, unset() retournait toujours TRUE (en fait, la valeur entière 1). En PHP, 4 toutefois, unset() n'est plus une véritable fonction : c'est une structure du langage, ce qui fait qu'elle ne retourne pas de valeur. Lire la valeur retournée par unset() (dans une variable, par exemple), retourne une erreur d'analyse.
Note : Il est possible de détruire n'importe quelle propriété visible dans le contexte courant.
Le comportement de unset() à l'intérieur d'une fonction peut varier suivant le type de variable que vous voulez détruire.
Si une variable globale est détruite avec unset() depuis une fonction, seule la variable locale sera détruite. Le variable globale gardera la valeur acquise avant l'appel à unset().
Si vous désirez détruire une variable globale à l'intérieur d'une
fonction, vous pouvez utiliser le tableau
$GLOBALS
pour le faire :
Si une variable qui est passée par référence est détruite à l'intérieur d'une fonction, seule la variable locale sera détruite. La variable globale conservera la même valeur qu'elle avait avant l'appel de unset().
Si une variable statique est détruite à l'intérieur d'une fonction unset() détruira la variable seulement dans le contexte du reste de la fonction. Les appels suivants restaureront la valeur précédente de la variable.
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 array_splice(), isset() et empty().
Précédent | Sommaire | Suivant |
unserialize | Niveau supérieur | var_dump |