Php 为什么refcount是3而不是2?

Php 为什么refcount是3而不是2?,php,php-7,php-5.6,php-5.5,php-5.4,Php,Php 7,Php 5.6,Php 5.5,Php 5.4,我认为refcount应该是这样的 但产出是: a:(refcount=3,is_ref=0)=1 1 additional refcount来自何处?在PHP文档中描述,您必须通过引用传递参数。但在PHP5.x中,通过引用传递参数已被删除。这个问题导致debug\u zval\u dump的非功能。使用此函数不可能获得正确的refcount 我想不建议使用此函数来计算引用数。在我的测试环境(Apache/PHP7.1)中,您的示例生成的refcount为1。似乎有点棘手。是的,debug\zv

我认为refcount应该是这样的

但产出是:

a:(refcount=3,is_ref=0)=1


1 additional refcount来自何处?

在PHP文档中描述,您必须通过引用传递参数。但在PHP5.x中,通过引用传递参数已被删除。这个问题导致
debug\u zval\u dump
的非功能。使用此函数不可能获得正确的refcount


我想不建议使用此函数来计算引用数。在我的测试环境(Apache/PHP7.1)中,您的示例生成的refcount为1。似乎有点棘手。

是的,debug\zval\u dump不可靠,所以我用xdebug更新代码。
function A($a) {
    xdebug_debug_zval('a');
}
$a = 1; # refcount->1
A($a); # refcount->2