深入剖析PHP7内核源码(二)- PHP变量容器
深入剖析PHP7内核源码(二)- PHP变量容器简介PHP的变量使用起来非常方便,其基本结构是底层实现的zval,PHP7采用了全新的zval,由此带来了非常大的性能提升,本文重点分析PHP7的zval的改变。 PHP5时代的ZVALtypedef struct _zval_struct { zvalue_value value; // (长度16字节,具体看下面的分析) zend_uint refcount__gc; // unsigned int (长度4字节) zend_uchar type; // unsigned char (长度1字节) zend_uchar is_ref__gc; // unsigned char (长度1字节) } zval typedef union _zvalue_value { long lval; // 用于 bool 类型、整型和资源类型(长度8字节) double dval; // 用于浮点类型(长度8字节) struct { // 用于字符串 char *val; // 字符串指针(长度8字节) int len; //字符串长度(长度4字节...