|
unset函数是php自带的一个销毁变量的函数,我们介绍了利用unset来销毁静态变量与全局变量的方法,同时出可以销毁数组变量哦,下面我们看实例。 例 1. unset() 示例 <?php
// 销毁单个变量
unset ($foo);
// 销毁单个数组元素
unset ($bar['quux']);
// 销毁一个以上的变量
unset ($foo1, $foo2, $foo3);
?> unset() 在函数中的行为会依赖于想要销毁的变量的类型而有所不同。 如果在函数中 unset() 一个全局变量,则只是局部变量被销毁,而在调用环境中的变量将保持调用 unset() 之前一样的值。 <?php
function destroy_foo() {
global $foo;
unset($foo);
}
$foo = ‘bar’;
destroy_foo();
echo $foo;
?>上边的例子将输出: bar 如果在函数中 unset() 一个通过传递的变量,则只是局部变量被销毁,而在调用环境中的变量将保持调用 unset() 之前一样的值。 <?php
function foo(&$bar) {
unset($bar);
$bar = “blah”;
}
$bar = ‘something’;
echo “$barn”;
foo($bar);
echo “$barn”;
?>上边的例子将输出: something something unset() 静态变量 严格讲,使用 unset() 销毁静态变量,只是断开了和变量值之间的引用。 例子: <?php
function foo() {
static $b;
$a++;
$b++;
echo "$a---$bn";
unset($a,$b);
var_dump($a);
var_dump($b);
echo "######################n";
}
foo();
foo();
foo();
?>运行该例子,输出: 1---1
NULL
NULL
#######################
1---2
NULL
NULL
#######################
1---3
NULL
NULL
####################### unset() 全局变量 同 unset() 静态变量一样,如果在函数中 unset() 一个全局变量,则只是局部变量被销毁,而在调用环境中的变量将保持调用 unset() 之前一样的值。 试着比较如下两个例子: <?php
function destroy_foo() {
global $foo;
unset($foo);
}
$foo = 'bar';
destroy_foo();
echo $foo;
?><?php
function destroy_foo() {
global $foo;
unset($GLOBALS['foo']);
}
$foo = 'bar';
destroy_foo();
echo $foo;
?>运行第一个例子会输出:bar ,而第二个例子则不会有任何输出。 以上就是如何利用unset()函数销毁单个或多个变量实例详解的详细内容,更多请关注php中文网其它相关文章! |