1、整型和浮点型
对于整型和浮点型,由于其占用空间小,在 zval 中是直接存储的 整型的值是存在 lval 里,浮点型值则是存储在 dval 里。
typedef union _zend_value { zend_long lval; double dval; ... }
2、字符串
PHP 7 中定义了新的字符串结构体。结构如下:
gc: 变量引用信息,所有用到引用计数的变量类型都会有这个结构。
h: 哈希值,数组中计算索引时会用到。(据说这个操作为 PHP7 提高了 5% 的性能)
len: 字符串长度,通过这个值保证二进制安全
val: 字符串内容,变长struct,分配时按len长度申请内存数组
struct _zend_string {zend_refcounted_h ;zend_ulong h; size_t len;char val[1];};
以上就是php常见变量类型的介绍,希望能对大家有所帮助。