php引用计数疑问

我们可以使用 xdebug_debug_zval() 查看zval容器的两个信息refcount和is_ref。

<?php

$a = 123456789;

xdebug_debug_zval ('a');

echo 'PHP版本:' . PHP_VERSION;

?>

在页面中打印出:

a:
(refcount=0, is_ref=0)int 123456789
PHP版本:7.0.20

不对啊,怎么refcount = 0,记得文档上写的是赋值后就是1.我们在来段代码试试

<?php

$a = (string)123456789;

xdebug_debug_zval ('a');

echo 'PHP版本:' . PHP_VERSION;

?>

打印出结果:

a:
(refcount=1, is_ref=0)string '123456789' (length=9)
PHP版本:7.0.20

是不是必须是字符串。那我直接传入字符串试试

$a = "123456789";

结果还是refcount=0。奇了怪了。

我好奇refcount为什么等于0.

翻过高山走不出你
浏览 365回答 1
1回答

吃鸡游戏

Internal-value-representation-in-PHP-7-part-1
打开App,查看更多内容
随时随地看视频慕课网APP