首页 >后端开发 >php教程 >变量引用计数有关问题

变量引用计数有关问题

WBOY
WBOY原创
2016-06-13 12:06:36852浏览

变量引用计数问题
变量引用就让人弄得走火入魔
什么引用、分离、写时复制,写时改变.....
比如:

<?php<br />$a = 1;<br />$b = & $a;<br /><br />xdebug_debug_zval('a');<br />debug_zval_dump($a);<br /><br />/*结果<br />b:<br />(refcount=2, is_ref=1),int 1<br /><br />long(1) refcount(1)<br />*/

refcount测试出来结果不一样,xdebug准还是内置的debug_zval_dump准?
------解决思路----------------------
调用 debug_zval_dump($a); 时候形参和$a进行了分离   debug_zval_dump调用可参考下面的情况

$a= 1;

$b= &$a

$c=$a
------解决思路----------------------
参考http://www.laruence.com/2008/09/19/520.html
------解决思路----------------------
两个函数的报告中的 refcount 不是一个意思
请不要被一知半解的文章迷惑了
------解决思路----------------------

引用:
这两个函数不都是用来查看引用计数的吗


皆是查看应用计数
debug_zval_dump($a);  请用引用方式debug_zval_dump(&$a); 因为你这种调用和下面情况一样 会发生读写分离 $c 已经和$a分离

$a= 1;
$b= &$a
$c=$a

xdebug_debug_zval是真是的引用计数   而debug_zval_dump因为给它传参 所以是引用计数+1




声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn