码迷,mamicode.com
首页 > Web开发 > 详细

php底层变量

时间:2015-05-01 15:57:31      阅读:139      评论:0      收藏:0      [点我收藏+]

标签:

 

在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)

技术分享

 

php底层变量

标签:

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!