php底层变量

时间:2015-05-01 15:55:34   收藏:0   阅读:278

 

在zend目录中的zend.h中会发现变量是这样定义的

typedef union _zvalue_value {
long lval; /* long value */
double dval; /* double value */
struct {
char *val;
int len;
} str;
HashTable *ht; /* hash table value */
zend_object_value obj;
zend_ast *ast;
} zvalue_value;

 

struct _zval_struct {
/* Variable information */
zvalue_value value; /* value */
zend_uint refcount__gc;
zend_uchar type; /* active type */
zend_uchar is_ref__gc;
};

zval结构体就是PHP的变量

一共有4个成员变量

value代表变量的值 refcount__gc变量的引用数 type变量的类型 is_ref__gc是否被引用 value的结构类型对应上面的_zvalue_value 的联合体

ZEND引擎定义了以下几种变量类型 php 版本(5.6.8)

技术分享

 

原文:http://www.cnblogs.com/jjdxqx/p/4470697.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!