下面这道PHP面试题:
- <?php
- $a = "this is a php blog";
- $b = & $a;
- unset($b);
- echo $a; //this is a php blog
- ?>
这个我很清楚,unset($b),只是断开了变量名和值得绑定,但是神奇的是:
- <?php
- $a = "test";
- $b = & $a;
- unset($a);
- echo $b;//test
- ?>
但是我销毁$a了,为嘛$b的值还在呢?晕了,求解!
感谢下面网友回复,让我明白了:
关于unset()函数使用注意:只有当指向该值的所有变量(比如有引用变量指向该值)都被销毁后,地址才会被释放,如下:
- <?php
- /** by www.phpddt.com */
- $a = "test";
- $b = & $a;
- unset($a);
- unset($b);
- echo $b;//输出空
- ?>
转载请注明地址:
http://www.phpddt.com/php/php-unset-quote.html 尊重他人劳动成果就是尊重自己!