引言
内容来自于《Extending and Embedding PHP》- Chaper 3 - Memory Management,加上自己的理解,对php中变量的引用计数、写时复制,写时改变,写时复制和改变做个”翻译“。
zval
看下面的内容之前先对zval这个结构体做个了解
typedef struct _zval_struct {
zvalue_value value;
zend_uint refcount;
zend_uchar type;
zend_uchar is_ref;
} zval;
zval 结构体禁用词语有4个元素,value是一个联合体,用来真正的存储zval的值,refcount用来计数该zval 被多少个变量使用,type表示zval 所存储的数据类型,is_ref用来标志该zval是否被引用。
引用计数
|