[PHP] PHP7以上版本的引用计数不同的困惑

前端之家收集整理的这篇文章主要介绍了[PHP] PHP7以上版本的引用计数不同的困惑前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

按正常理解PHP的变量是引用计数,第一次创建变量refcount会是0,当把这个变量赋给新的变量时,refcount会加1

但是,经过测试,PHP7.0.33下和PHP7.3.11下效果都不是按照这个来的

代码

$val = "taoshihan best";
xdebug_debug_zval('val');
$copy = $val;
xdebug_debug_zval('val');

PHP7.0下

val: (refcount=0,is_ref=0)='taoshihan best'
val: (refcount=0,is_ref=0)='taoshihan best'   //这里的refcount 没有加1

 

PHP7.3下

val: (refcount=1,is_ref=0)='taoshihan best'  //这里是1,好像说是PHP7新特性啥的,也没有理解到
val: (refcount=1,is_ref=0)='taoshihan best'  //这里也没加1

看了鸟哥的博客,和他的结果也不一样,完全晕掉了

 

猜你在找的PHP相关文章