php创建一个整型变量时zval的refcount为什么是0-CSDN论坛
2017-07-26
展开全部
第一个:
PHP code
?
1
2
$str = "test zval";
xdebug_debug_zval('str');
如上,当php创建一个字符串时,通过xdebug_debug_zval查看的结果是:
str: (refcount=1, is_ref=0)='test zval'
于是,我理所当然的觉得,当php创建一个整型变量时,通过xdebug_debug_zval查看的结果也应该是: (refcount=1, is_ref=0)
但实际情况是:
PHP code
?
1
2
$a = 123;
xdebug_debug_zval('a');
输出为:
a: (refcount=0, is_ref=0)=123
我们知道refcount是一个计数器,用来保存有多少个变量指向该zval,但为什么当创建整型变量时,refcount为0呢?
我的php版本为7.0,难道是php版本的问题吗?
第二个:
PHP code
?
1
2
3
4
5
$ar = array(
'id' => 38,
'name' => 'shine'
);
xdebug_debug_zval('ar');
输出为:
ar: (refcount=1, is_ref=0)=array ('id' => (refcount=0, is_ref=0)=38, 'name' => (refcount=2, is_ref=0)='shine')
PHP code
?
1
2
$str = "test zval";
xdebug_debug_zval('str');
如上,当php创建一个字符串时,通过xdebug_debug_zval查看的结果是:
str: (refcount=1, is_ref=0)='test zval'
于是,我理所当然的觉得,当php创建一个整型变量时,通过xdebug_debug_zval查看的结果也应该是: (refcount=1, is_ref=0)
但实际情况是:
PHP code
?
1
2
$a = 123;
xdebug_debug_zval('a');
输出为:
a: (refcount=0, is_ref=0)=123
我们知道refcount是一个计数器,用来保存有多少个变量指向该zval,但为什么当创建整型变量时,refcount为0呢?
我的php版本为7.0,难道是php版本的问题吗?
第二个:
PHP code
?
1
2
3
4
5
$ar = array(
'id' => 38,
'name' => 'shine'
);
xdebug_debug_zval('ar');
输出为:
ar: (refcount=1, is_ref=0)=array ('id' => (refcount=0, is_ref=0)=38, 'name' => (refcount=2, is_ref=0)='shine')
2017-07-26
展开全部
已经告诉了你 php7 内核发生了变化,算法不同,结果自然也不同,纠结这个有什么用
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询