Home >Backend Development >PHP Tutorial >变量引用计数有关问题

变量引用计数有关问题

WBOY
WBOYOriginal
2016-06-13 12:06:36850browse

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

<?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




Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn