PHP unset function
Like this blog? Consider exploring one of our sponsored banner ads...
unset
(PHP 3, PHP 4, PHP 5)
unset — Unset a given variableDescriptionvoid unset ( mixed var [, mixed var [, mixed ...]] )
unset() destroys the specified variables. Note
that in PHP 3, unset() will always return TRUE
(actually, the integer value 1). In PHP 4, however,
unset() is no longer a true function: it is
now a statement. As such no value is returned, and attempting to
take the value of unset() results in a parse
error.
Example 1. unset() example
// 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);
Note:
It is possible to unset even object properties visible in current context.
The behavior of unset() inside of a function
can vary depending on what type of variable you are attempting to
destroy.
If a globalized variable is unset() inside of
a function, only the local variable is destroyed. The variable
in the calling environment will retain the same value as before
unset() was called.
function destroy_foo() { global $foo; unset($foo); } $foo = 'bar'; destroy_foo(); echo $foo;
The above example will output:
bar
If you would like to unset() a global variable
inside of a function, you can use
the $GLOBALS array to do so:
function foo() { unset($GLOBALS['bar']); } $bar = "something"; foo();
If a variable that is PASSED BY REFERENCE is
unset() inside of a function, only the local
variable is destroyed. The variable in the calling environment
will retain the same value as before unset()
was called.
function foo(&$bar) { unset($bar); $bar = "blah"; } $bar = 'something'; echo "$bar\n"; foo($bar); echo "$bar\n";
The above example will output:
something
something
If a static variable is unset() inside of a
function, unset() destroys the variable only in the
context of the rest of a function. Following calls will restore the
previous value of a variable.
function foo() { static $bar; $bar++; echo "Before unset: $bar, "; unset($bar); $bar = 23; echo "after unset: $bar\n"; } foo(); foo(); foo();
The above example will output:
Before unset: 1, after unset: 23
Before unset: 2, after unset: 23
Before unset: 3, after unset: 23
Note: Because this is a
language construct and not a function, it cannot be called using
variable functions
See also isset(),
empty(), and
array_splice().
About this entry
You’re currently reading “PHP unset function,” an entry on BRADINO
- Published:
- 2.26.07 / 12am
- Category:
- PHP Functions
- Tags:
No comments
Jump to comment form | comments rss [?] | trackback uri [?]