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;

浙公网安备 33010602011771号