PHP 8从入门到精通(视频教学版)
上QQ阅读APP看书,第一时间看更新

3.4.4 变量的销毁

当用户创建一个变量时,相应地在内存中有一个空间专门用于存储该变量,该空间引用计数加1。当变量与该空间的联系被断开时,空间引用计数减1,直到引用计数为0,则成为垃圾。

PHP有自动回收垃圾的机制,用户也可以手动销毁变量,通常使用unset()函数来实现。该函数的语法格式如下:

void unset (变量)

其中,若变量类型为局部变量,则变量被销毁;若变量类型为全局变量,则变量不会被销毁。

【例3.9】(实例文件:源文件\ch03\3.9.php)

<?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所示。变量销毁后再次调用会提示警告信息。

图3-9 程序运行结果