变量引用计数问题

WBOY
Libérer: 2016-06-23 13:49:07
original
738 Les gens l'ont consulté

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

<?php$a = 1;$b = & $a;xdebug_debug_zval('a');debug_zval_dump($a);/*结果b:(refcount=2, is_ref=1),int 1long(1) refcount(1)*/
Copier après la connexion

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

参考 http://www.laruence.com/2008/09/19/520.html


 正是看了这篇文章才有的问题

两个函数的报告中的 refcount 不是一个意思
请不要被一知半解的文章迷惑了

两个函数的报告中的 refcount 不是一个意思
请不要被一知半解的文章迷惑了



那分别是什么意思呢?

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

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



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

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

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




Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal