老师,这里两个数组的元素的refcount 为什么不一样,还有$a的元素的refcount与老师运行打印的也不一样
来源:2-1 PHP引用变量考察点 (上)
纸短情长阿
2018-03-24
$data = array('a','b');
xdebug_debug_zval('data');
//data: (refcount=1, is_ref=0)=array (0 => (refcount=2, is_ref=0)='a', 1 => (refcount=2, is_ref=0)='b')
$a = range(0,1);
xdebug_debug_zval('a');
//a: (refcount=1, is_ref=0)=array (0 => (refcount=0, is_ref=0)=0, 1 => (refcount=0, is_ref=0)=1)
//我使用的php版本是PHP7.0.12 xdebug版本是2.6.0
写回答
1回答
-
Jason
2018-03-25
因为range生成的数组,中间的元素并没有被其他变量引用,所以refcount是0,可以看下这个:http://php.net/manual/zh/features.gc.refcounting-basics.php
10
相似问题