function A($a) {
xdebug_debug_zval('a');
}
$a = 1; # refcount->1
A($a); # refcount->2
评论是我认为refcount应该是的。
但输出是:
a:(refcount = 3,is_ref = 0)= 1
1个额外引用计数从哪里来?
答案 0 :(得分:1)
在PHP文档中进行了描述,您必须通过引用传递参数。但是在PHP 5.x中已删除了按引用传递参数。这个问题导致我们无法使用debug_zval_dump
。使用此功能无法获得正确的引用计数。
我猜不建议您使用此功能来计数引用。在我的测试环境(Apache / PHP7.1)中,您的示例生成的引用计数为1。似乎有些棘手。