REFERENCE PHP

dernière mise à jour de la documentation : décembre 2014
.NET | Apache | APC | APD | Tableaux | Aspell | BBCode | BC math | bcompiler | Bzip2 | Calendrier | CCVS | Classes et Objets | Classkit | ClibPDF | COM | Fonctions Crack | ctype | CURL | Cybercash | CyberMUT | Cyrus IMAP | Date/heure | DB++ | DBA | dBase | DBM | dbx | DIO | Dossiers | DOM | DOM XML | enchant | Erreurs | EXIF | Expect | FAM | FDF | Fileinfo | filePro | Système de fichiers | Filter | Firebird/InterBase | Firebird/Interbase (PDO) | FriBiDi | FrontBase | FTP | Fonctions | GeoIP | gettext | GMP | gnupg | gopher | haru | hash | http | Hyperwave | Hyperwave API | i18n | IBM (PDO) | ibm_ db2 | iconv | id3 | Fonctions IIS | Images | Imagick Image Library | IMAP | Informix | Informix (PDO) | Ingres II | Interface IRC | Intégration de Java avec PHP | JSON | kadm5 | LDAP | libxml | Lotus Notes | LZF | Mail | Traitement d'Email | Maths | MaxDB | MCAL | mcrypt | MCVE | Memcache | mhash | Mimetype | Ming (Flash) | Divers | mnoGoSearch | MS SQL Serveur | MS SQL Server (PDO) | Msession | mSQL | Chaînes de caractères multi-octets | muscat | MySQL | MySQL (PDO) | MySQLi | Fonctions ncurses | Réseau | Newt | NSAPI | agrégation d'objets | Surcharge d'objets | OCI8 | ODBC | ODBC et DB2 (PDO) | OGG/Vorbis | openal | OpenSSL | Oracle | Oracle (PDO) | Bufferisation de sortie | OvrimosSQL | Paradox | Parsekit | PCNTL | PCRE | PDF | PDO | phar | Options et informations PHP | POSIX | Regex POSIX | PostgreSQL | PostgreSQL (PDO) | Impressions | Exécution de programmes | PS | Pspell | Fonctions qtdom | radius | Rar | Readline | GNU Recode | RPMReader | runkit | SAM | Satellite | SCA | SDO | SDO DAS XML | SDO-DAS-Relational | Sémaphore | SESAM | Session PgSQL | Sessions | shmop | SimpleXML | SNMP | SOAP | Sockets | spl | SQLite | SQLite (PDO) | ssh2 | statistics | Flux | Chaînes | SVN | SWF | swish | Sybase | TCP Wrappers | Tidy | Tokenizer | Unicode | Fonctions URL | Gestion des variables | Paiement par Verisign | vpopmail | W32api | WDDX | win32ps | win32service | xattr | xdiff | XML | XML-RPC | XMLReader | XMLWriter | XSL | XSLT | YAZ | NIS | Zip | Zlib



unset

(PHP 4, PHP 5)

unsetDétruit une variable

Description

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

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. La variable globale gardera la valeur acquise avant l'appel à unset().

<?php
function destroy_foo() 
{
    global 
$foo;
    unset(
$foo);
}

$foo 'bar';
destroy_foo();
echo 
$foo;
?>

L'exemple ci-dessus va afficher :


bar

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

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

<?php
function foo(&$bar
{
    unset(
$bar);
    
$bar "blah";
}

$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.

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

Liste de paramètres

var

La variable à détruire.

...

Autres variables...

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

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

Exemple #2 Exemple avec un transtypage (unset)

Le transtypage (unset) est souvent confondu avec la fonction unset(). Le transtypage (unset) sert uniquement à transtyper en type NULL. Il n'altère pas la variable transtypée.

<?php
$name 
'Felipe';

var_dump((unset) $name);
var_dump($name);
?>

L'exemple ci-dessus va afficher :


NULL

string(6) "Felipe"

Notes

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

Note:

Il est possible de détruire n'importe quelle propriété visible dans le contexte courant.

Note:

Il n'est pas possible de détruire la variable spéciale $this à l'intérieur d'une méthode d'un objet, depuis PHP 5.

Note:

Lors de l'utilisation de cette fonction sur des propriétés d'objet inaccessibles, la méthode magique __unset sera appelée, si elle existe.

Voir aussi

  • isset() - Détermine si une variable est définie et est différente de NULL
  • __unset()
  • empty() - Détermine si une variable est vide
  • array_splice() - Efface et remplace une portion de tableau

Exemples d'utilisation