PHP中unset销毁变量引发的问题
来源:程序员人生 发布时间:2014-03-04 12:26:44 阅读次数:2948次
在php中我要销毁变量并内存释规范的写法就是直接使用unset()函数了,但是我们测试会发现unset只是当指向该值的所有变量(比如有引用变量指向该值)都被销毁后,地址才会被释放,下面我们来看几个实例,首先我们来看一个例子,代码如下:
- <?php
- $a = "hello springload";
- $b = $a;
- unset($b);
- echo $a;
- ?>
这个我们很清楚,unset($b),只是断开了变量名和值得绑定,但是一个有意思的问题出现了,代码如下:
- <?php
- $a = "hello springload";
- $b = $a;
- unset($a);
- echo $b;
- ?>
为什么$a销毁了,为嘛$b的值还在呢?
注:unset()函数只有当指向该值的所有变量(比如有引用变量指向该值)都被销毁后.地址才会被释放,代码如下:
- <?php
- $a = "hello springload";
- $b = $a;
- unset($a);
- unset($b);
- echo $b;
- ?>
生活不易,码农辛苦
如果您觉得本网站对您的学习有所帮助,可以手机扫描二维码进行捐赠