unset
(PHP 4, PHP 5)
unset — Adott változó felszabadítása
Leírás
Note: Az unset() egy nyelvi szerkezet.
Az unset() megszünteti az adott változókat. A PHP 3-ban mindig TRUE értékkel tér vissza (egészen pontosan az 1 értékű egész számmal). A PHP 4-esben az unset() többé már nem függvény, hanem parancs. Ezért nincs visszatérési érték, és a visszatérési érték használata feldolgozási hibát jelent.
Example#1 unset() példa
// Egy változó törlése
unset ($ize);
// Egy tömbelem törlése (nem az egész tömb törlése!)
unset ($valami['barmi']);
// Több mint egy változó törlése
unset ($ize1, $ize2, $ize3);
Az unset() hatása egy függvényen belül attól függ, hogy milyen típusú változót próbálsz meg törölni.
Ha egy globális környezetből betöltött változót próbálsz meg törölni a függvényben, csak a lokális változót törlöd. A hívó környezetben lévő változó megtartja unset() hívás előtti értékét.
function ize_torlese() {
global $ize;
unset($ize);
}
$ize = 'valami';
ize_torlese();
echo $ize;
valami
Ha egy olyan változót törölsz egy függvényben, amit referenciaképzéssel adtál át, csak a helyi változót törlöd. A hívó környezetben lévő változó megtartja unset() hívás előtti értékét.
function ize(&$valami) {
unset($valami);
$valami = "másmilyen szöveg";
}
$valami = 'valamilyen szöveg';
echo "$valami\n";
foo($valami);
echo "$valami\n";
valamilyen szöveg valamilyen szöveg
Ha egy statikus változót törölsz egy függvényben, az unset() törli a változót, és minden rá mutató referenciát.
function ize() {
static $a;
$a++;
echo "$a\n";
unset($a);
}
ize();
ize();
ize();
1 2 3
Ha egy globális változót szeretnél törölni egy függvényen belül, használd a $GLOBALS tömböt erre a célra:
function ize() {
unset($GLOBALS['valami']);
}
$valami = "bármi";
ize();