输入banner图图片脚本导航/分类

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

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

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

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

$a = 123;
$b = $a;

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

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

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