按正常理解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

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

 

参考链接

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。