Spécifie si oui ou non d'afficher les frontières et de fond sur les cellules vides dans un tableau
La fonction unset() sert à détruir une variable dont le nom a été passé en
argument
(PHP 4, PHP 5)
La fonction unset() détruit une variable
Syntaxe :
unset ( $var [, $var [, $... ]] )
La fonction unset() détruit la ou les variables dont le nom a été passé en argument $var.
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().
Exemple :
Exemple : Copier le code
<?php function destroy_var() { global $var; unset($var); } $var = 'je suis une global'; destroy_var(); echo $var; ?>
Cet exemple va afficher
je suis une global
Pour détruire une variable globale à l'intérieur d'une fonction, vous pouvez utiliser le tableau $GLOBALS :
Exemple :
Exemple : Copier le code
<?php function maFonction() { unset($GLOBALS['bar']); } $var = "une varirble global"; maFonction(); echo $var; ?>
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().
Exemple :
Testez cet exemple sans unset() puis avec unset
Exemple : Copier le code
<pre> <?php function maFonction(&$var) { unset($var); $var = "variable par reference"; } $var = 'variable global'; echo "$var\n"; maFonction($var); echo "$var\n"; ?> </pre>
Cet exemple va afficher
Sans unset()
variable global
variable par reference
Avec unset()
variable global
variable global
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.
Exemple :
Exemple : Copier le code
<pre> <?php function maFonction() { static $var; $var++; echo "Avant unset : $var, "; unset($var); $var = 57; echo "après unset : $var\n"; } maFonction(); maFonction(); maFonction(); ?> </pre>
Ce qui affiche :
Avant unset : 1, après unset : 57
Avant unset : 2, après unset : 57
Avant unset : 3, après unset : 57
Exemple 1 : Exemple avec unset()
Exemple : Copier le code
<?php // Destruction d'une seule variable unset($foo); // Destruction d'un élément de tableau unset($bar['quux']); // Destruction de plusieurs variables unset($foo1, $foo2, $foo3); ?>
Exemple 2 : Exemple avec un transtypage (unset)
Exemple : Copier le code
<?php $name = 'un nom'; var_dump((unset) $name); ?>
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.
Cours precedent: |
Cours suivant: |