当用户创建一个变量时,相应地在内存中有一个空间专门用于存储该变量,该空间引用计数加1。当变量与该空间的联系被断开时,空间引用计数减1,直到引用计数为0,则成为垃圾。
PHP有自动回收垃圾的机制,用户也可以手动销毁变量,通常使用unset()函数来实现。该函数的语法格式如下:
void unset (变量)
其中,若变量类型为局部变量,则变量被销毁;若变量类型为全局变量,则变量不会被销毁。
【例3.9】
<?php
$b= "大漠孤烟直,长河落日圆。"; //函数外声明全局变量
function xiaohui() { //声明函数
$a= 10; //函数内声明局部变量
global $b; //函数内使用global关键字声明全局变量$b
unset ($a); //使用unset()销毁不再使用的变量$a
unset ($b); //使用unset()销毁不再使用的变量$b
echo $a; //查看局部变量是否发生变化
}
xiaohui(); //调用函数
echo $b; //查看全局变量是否发生变化
?>
本程序运行结果如图3-9所示。变量销毁后再次调用会提示警告信息。