php中有个释放变量的语句叫做unset(从php4开始unset已经不再是一个函数了,而是一个语句),前几天用unset的时候出了点问题,于是把unset问题总结如下。如果您仔细阅读过php的手册,那么就没必要再看这篇文章了,这篇文章是写给看手册不用心的同学的。
首先要强调的一点是unset在php中已经不再是一个函数了,既然不是函数,那么就没有了返回值,所以用的时候不能够用unset的返回值来做判断。
其次,在函数中,unset只能销毁局部变量,并不能销毁全局变量,来看下手册的一个例子
<?php
function destroy_foo() {
global $foo;
unset($foo);
}$foo = ‘bar’;
destroy_foo();
echo $foo;
?>
返回的结果为
bar
为什么会这样呢?原因就是unset在函数中只能销毁局部变量。如果在程序中需要用到销毁全局变量的应该如何做呢?也很简单,用$GLOBALS数组来实现。看下面的例子:
<?php
function foo() {
unset($GLOBALS['bar']);
}$bar = “something”;
foo();
var_dump($bar);
?>
这样程序就会返回NULL。
更多关于php中的unset的信息请同学们看下手册吧。另外需要注意的一点是手册底下的评论是非常不错的。