加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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

发布时间:2023-05-27 14:07:32 所属栏目:PHP教程 来源:
导读:在这篇文章中,我们来学习一下“PHP变量类型整型、浮点型和字符串如何存储的”的相关知识,下文有详细的讲解,易于大家学习和理解,有需要的朋友可以借鉴参考,下面就请大家跟着小编的思路一起来学习一下吧
在这篇文章中,我们来学习一下“PHP变量类型整型、浮点型和字符串如何存储的”的相关知识,下文有详细的讲解,易于大家学习和理解,有需要的朋友可以借鉴参考,下面就请大家跟着小编的思路一起来学习一下吧。
 
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];
 
};
 
推荐操作系统:windows7系统、PHP5.6、DELL G3电脑
 
 

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!