ホームページ > php教程 > php手册 > PHP中unset销毁变量引发的问题

PHP中unset销毁变量引发的问题

WBOY
リリース: 2016-06-13 09:51:42
オリジナル
1491 人が閲覧しました

在php中我要销毁变量并内存释规范的写法就是直接使用unset()函数了,但是我们测试会发现unset只是当指向该值的所有变量(比如有引用变量指向该值)都被销毁后,地址才会被释放,下面我们来看几个实例。

首先我们来看一个例子:

 代码如下 复制代码

    $a = "hello springload";
    $b = $a;
    unset($b);
    echo $a; //hello springload
?>

这个我们很清楚,unset($b),只是断开了变量名和值得绑定,但是一个有意思的问题出现了:

 代码如下 复制代码

    $a = "hello springload";
    $b = $a;
    unset($a);
    echo $b;//hello springload
?>

为什么$a销毁了,为嘛$b的值还在呢?

注:unset()函数只有当指向该值的所有变量(比如有引用变量指向该值)都被销毁后,地址才会被释放,如下:

 代码如下 复制代码

    $a = "hello springload";
    $b = $a;
    unset($a);
    unset($b);
    echo $b;//输出空
?>

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート