首页 存档 技术 查看内容

实例:变量改变时PHP内核做了些什么?

2018-3-30 13:00 |来自: 互联网 308 0

摘要: 点击上方蓝字“php菜鸟训练营”一起玩耍 引言 内容来自于《Extending and Embedding PHP》- Chaper 3 - Memory Management,加上自己的理解,对php中变量的引用计数、写时复制,写时改变,写时复制和改变做个”翻译 ...

点击上方蓝字“php菜鸟训练营”一起玩耍


引言

内容来自于《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是否被引用。


引用计数

声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

相关分类

返回顶部