PHP变量的底层定义

1、php源码中对变量对定义如下:

#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;
}zvalue_value;

 2、对象的定义如下:

#zend/zend.h
typedef struct _zend_object{
    zend_class_entry *ce;    //这里是类入口
    HashTable * properties;  //属性组成对HashTable
    HashTable *guards;       //protects from __get/__set ..recursion
}zend_object;


你可能感兴趣的:(PHP)