oujood.com

Fonction unset() détruit une variable

La fonction unset() sert à détruir une variable dont le nom a été passé en argument

chercher |

PHP cours tutorial

La fonction unset()

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

    Fonctions de manipulation des variables en PHP

 Cours suivant:
La foncion var_export()   

Par carabde 20 Aout 2014



Voir aussi nos tutoriel :

Balise abbr abréviation

Définit une abréviation

Balise table

Définit une table

Espaces de noms XML

Espaces de noms XML