Home
Accueil
Downloads
Téléchargements
Forums
Forums
Your Account
Votre compte
Menu
· Accueil ·

· Communication ·
  · Forums
  · Messages privés
  · Contactez nous
  · Recommendez nous
  · Sondages
  · Les projets

· Nouvelles ·Stats
  · Sujets
  · Ecrire un article
  · Articles archivés
  · Articles RSS
  · Lettre de sécurité
  · Archive de lettres

· Téléchargements ·
  · Accueil
  · Nouveautés
  · Mises à jour
  · Thêmes

· Outils ·
  · Outils divers
  · Convertisseur de temps
  · Table de caractères
  · Générateur de boutons
  · Compresseur Javascript

· Documentation ·
  · Wiki
  · Questions/Réponses
  · Documents
  · Manuel PHP-Nuke
  · Manuel PHP
  · Manuel PEAR
  · Encyclopédies

· Liens ·
  · Nos liens
  · Nos fluxs RSS
  · Partenaires
  · Votre publicité
  · Sitemap
  · Mes bannières

· Infos ·
  · Rechercher
  · Votre compte
  · Liste des membres
  · Carte des membres
  · Top

· Divers ·
  · Météo
  · Galeries
  · Statistiques Phpnuke
  · MS Analysis


unset

unset

(PHP 3, PHP 4, PHP 5)

unset -- Détruit une variable

Description

void unset ( mixed var [, mixed var [, mixed ...]] )

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.

Exemple 1. Exemple avec unset()

<?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);
?>

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

Exemple 2. Exemple avec unset() dans un contexte de fonction

<?php
function destroy_foo()
{
    global
$foo;
    unset(
$foo);
}
$foo = 'bar';
destroy_foo();
echo
$foo;
?>

L'exemple ci-dessus va afficher :

bar

Si vous désirez détruire une variable globale à l'intérieur d'une fonction, vous pouvez utiliser le tableau $GLOBALS pour le faire :

Exemple 3. Exemple avec unset() avec une variable globale

<?php
function foo()
{
    unset(
$GLOBALS['bar']);
}

$bar = "truc";
foo();
?>

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 4. Exemple avec unset() sur une référence

<?php
function foo(&$bar)
{
    unset(
$bar);
    
$bar = "bla";
}
$bar = 'truc';
echo
"$bar\n";
foo($bar);
echo
"$bar\n";
?>

L'exemple ci-dessus va afficher :

truc
truc

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 5. Exemple avec unset() et une variable statique

<?php
function foo()
{
    static
$bar;
    
$bar++;
    echo
"Avant unset : $bar, ";
    unset(
$bar);
    
$bar = 23;
    echo
"après unset : $bar\n";
}
foo();
foo();
foo();
?>

L'exemple ci-dessus va afficher :

Avant unset : 1, après unset : 23
Avant unset : 2, après unset : 23
Avant unset : 3, après unset : 23

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


Manuel PHP pour PHP-Nuke © www.stefvar.com
Syndiquez notre contenu RSS, Atom, etc..
PHP-Nuke © 2007Reproduction interdite sans autorisation de ma part www.stefvar.com Copyright © 2008Thème iCGstation
Site français de la communauté PragmaMx