php的unset()与引用

来源:互联网 发布:淘宝不搜血滴子 编辑:程序博客网 时间:2024/05/21 08:38
php的引用并不是地址指针。$a=&$b;不会导致$a,$b在内存上同体,只是把各自的值相关联起来,所以unset()某引用不会导致所有引用变量消失。
$a=500;$b=&$a;unset($a);echo $b;
输出为500,在执行unset后,$a,$b仅仅是互相取消值关联,$b并因为$a的释放而消失,所以引用局部变量的变量,不会因为局部变量消失而消失。
function & test(){   $temp=500;   return $temp;}$a=&test();echo $a;
unset的作用仅仅取消变量名和内存的关联。不能做回收使用。
某变量引用全局变量后,unset()只能作用于当前域。
全局变量被unset,也仅作用于当前域。
函数返回值不需要做引用来提高速度,zend引擎提供自动优化。

转载: http://blog.sina.com.cn/s/blog_538dd06701000af9.html
0 0
原创粉丝点击