PHP弱变量类型

啥是弱变量类型?

就是不需要关心数据真正的存储类型,在声明一个PHP变量的时候不需要指明它的变量类型。

那么PHP是怎么做到弱变量类型的呢?

PHP会将变量数据存储到一个结构体中,而结构体中存储数据的结构是一个union结构,union结构中包含了整型、字符串等类型,结构体还有一个变量保存该变量的真正类型。

  typedef struct _zval_struct {
    zvalue_value value;
    zend_uint refcount;
    zend_uchar type;
    zend_uchar is_ref;
  } zval;
typedef union _zvalue_value {
    long lval;
    double dval;
    struct {
        char *val;
        int len;
    } str;
    HashTable *ht;
    zend_object_value obj;
} zvalue_value;

  

posted @ 2014-04-19 10:55  我就是熊吉  阅读(285)  评论(0编辑  收藏  举报