unset
(PHP 4, PHP 5)
unset — Verwijder een gegeven variabele
Beschrijving
Note: unset() is een language construct.
unset() vernietigd de gespecificeerde variabelen. Merk op dat in PHP 3, unset() altijd TRUE geeft (om precies te zijn de integer waarde 1). In PHP 4 is unset() geen echte functie meer, het is nu een statement. Dat zijnde wordt er geen waarde teruggegeven, en als je probeert de waarde van unset() op te vangen krijg je een parse error.
Example#1 unset() voorbeeld
// destroy a single variable
unset ($foo);
// destroy a single element of an array
unset ($bar['quux']);
// destroy more than one variable
unset ($foo1, $foo2, $foo3);
Het gedrag van unset() in een functie kan varieëren afhankelijk van het type variabele dat je probeert te vernietigen.
Als unset() wordt gebruikt om een globaal gemaakte variabele te verwijderen in een functie, zal alleen de lokale variabele worden vernietigd. De variabele in de omgeving erbuiten zal dezelfde waarde behouden als voordat unset() was aangeroepen.
function destroy_foo() {
global $foo;
unset($foo);
}
$foo = 'bar';
destroy_foo();
echo $foo;
bar
Als een variabele is DOOR EEN VERWIJZING IS GEGEVEN, en door unset() in een functie wordt gewist, zal alleen de lokale variabele worden vernietigd. De variabele in de omgeving erbuiten zal dezelfde waarde behouden als voordat unset() was aangeroepen.
function foo(&$bar) {
unset($bar);
$bar = "blah";
}
$bar = 'something';
echo "$bar\n";
foo($bar);
echo "$bar\n";
something something
Als unset() wordt toegepast op een statische variabele in een functie, dan zal unset() de variabele en alle verwijzingen vernietigen.
function foo() {
static $a;
$a++;
echo "$a\n";
unset($a);
}
foo();
foo();
foo();
1 2 3
Als je een globale variabele wil unset()ten in een functie, dan kan je de $GLOBALS array gebruiken om dat te doen.
function foo() {
unset($GLOBALS['bar']);
}
$bar = "something";
foo();