学堂 学堂 学堂公众号手机端

PHP变量类型整型、浮点型和字符串如何存储的

lewis 1年前 (2024-03-26) 阅读数 10 #技术
在这篇文章中,我们来学习一下“PHP变量类型整型、浮点型和字符串如何存储的”的相关知识,下文有详细的讲解,易于大家学习和理解,有需要的朋友可以借鉴参考,下面就请大家跟着小编的思路一起来学习一下吧。



1、整型和浮点型

对于整型和浮点型,由于其占用空间小,在 zval 中是直接存储的 整型的值是存在 lval 里,浮点型值则是存储在 dval 里。

typedefunion_zend_value{
zend_longlval;/*整型*/
doubledval;/*浮点型*/
...
}

2、字符串

PHP 7 中定义了新的字符串结构体。结构如下:

gc: 变量引用信息,所有用到引用计数的变量类型都会有这个结构。

h: 哈希值,数组中计算索引时会用到。(据说这个操作为 PHP7 提高了 5% 的性能)

len: 字符串长度,通过这个值保证二进制安全

val: 字符串内容,变长struct,分配时按len长度申请内存数组

struct_zend_string{
zend_refcounted_h;
zend_ulongh;/*hashvalue*/
size_tlen;
charval[1];
};

推荐操作系统:windows7系统、PHP5.6、DELL G3电脑


到此这篇关于“PHP变量类型整型、浮点型和字符串如何存储的”的文章就介绍到这了,更多相关PHP变量类型整型、浮点型和字符串如何存储的内容,欢迎关注博信,小编将为大家输出更多高质量的实用文章!
版权声明

本文仅代表作者观点,不代表博信信息网立场。

热门