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; /* hash value */
size_t len;
char val[1];
};
以上就是php常见变量类型的介绍,希望能对大家有所帮助。更多php学习指路: