首页  >  文章  >  后端开发  >  php深入学习之变量的引用计数

php深入学习之变量的引用计数

WBOY
WBOY原创
2016-08-10 08:48:351002浏览

php变量的引用计数是什么呢?首先看一下php变量的底层结构:

<code>typedef <span>struct</span> _zval_struct zval;
<span>struct</span> _zval_struct {
    zvalue_value <span>value</span>;     <span>//存放value</span>
    zend_uint refcount__gc;     <span>//引用计数</span>
    zend_uchar type;     <span>//判断类型</span>
    zend_uchar is_ref__gc;     <span>//是否被引用</span>
};
</code>

当我们在php程序中声明一个变量,zend引擎会实例化一个zval的结构体,这个结构体有四个成员变量。其中type用于判断这个变量是什么类型的;value用于存放实际的数据,其实value也是一个结构体,具体这里就不细讲了。今天重点讲一下:refcount_gc和is_ref_gc这两个字段的用处。假设有这样一段代码:

<code><span>$a</span> = <span>123</span>;
<span>$b</span> = <span>$a</span>;
</code>

由于一个简单的int型变量,php都要实例化一个结构体出来,像上面这种情况,其实a

版权声明:本文为博主原创文章,转载请注明出处。

以上就介绍了php深入学习之变量的引用计数,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn