PHP INT类型在内存中占字节详解

 更新时间:2019年07月20日 10:47:00   作者:woyaowenwen12  
在本文里我们给大家分享了关于PHP输出INT类型在内存中占多少个字节的相关知识点,需要的朋友们参考下。

本教程将介绍输出INT类型在内存中占多少个字节

新建一个333.php,如图所示:

添加php的界定符(<?php?>),如图所示:

声明PHP与浏览器交互的文件类型和编码,如图所示:

使用常量 PHP_INT_SIZE 来获取INT类型在内存中占多少个字节,如图所示:

使用 echo 语句输出常量 PHP_INT_SIZE 获取到的字节数,如图所示:

运行网页,在浏览器上显示获取到的结果,如图所示:

section id="smaller-text-left-7">至此,本教程结束!

至此,本教程结束!

内容扩展

php中int类型在不同平台所占不同字节数理解

1.在不同平台上占字节数与最大值

  • 在32位平台上int占4个字节,在64位平台上int占8个字节,PHP_INT_SIZE
  • 在32位平台上int的最大值2^31 - 1,在64位平台上int最大值2^63 - 1,PHP_INT_MAX。php中int不支持无符号

2.为什么在不同的平台上int类型所占字节数有差异呢

不管什么类型,编译型语言都会把源码编译成机器码,由于不同平台寄存器位宽不一样, 所以有了自己对int的规定, 导致int 这个数据类型比较特殊,具体分配的字节数与机器字长和编译器有关。但一般等于机器寄存器位宽(64位平台除外,默认为4字节),如在32位平台上(所谓32位平台是指通用寄存器的数据宽度是32)编写代码,int 类型分配4个字节,而在16位平台是则分配2个字节。编译器是把代码转换为机器码的软件,如果他愿意,可以把int转换为256位的,只不过会增加机器的复杂度,降低可移植性。

3.平台

个人把这三者合起来考虑(CPU+OS+Compiler)是因为:1、64位机器也可以装32位系统(x64装XP);2、32位机器上可以有16/32位的编译器(XP上有tc是16位的,其他常见的是32位的);3、即使是32位的编译器也可以弄出64位的integer来(int64)。以上这些是基于常见的wintel平台,加上我们可能很少机会接触的其它平台(其它的CPU和OS),所以个人认为所谓平台的概念是三者的组合。虽然三者的长度可以不一样,但显然相互配合(即长度相等,32位的CPU+32位的OS+32位的Compiler)发挥的能量最大。另外一个话题,如果只是从抽象的层面来看,每个程序有的只是虚拟的计算环境,可以不必考虑实际的环境,只需要了解虚拟环境的情况就可以了,这在不考虑移植性或者非底层编程的时候是很有帮助的,这样可以使你关注你的逻辑而不是实现

相关文章

  • PHP学习之数组的定义和填充

    PHP学习之数组的定义和填充

    先了解一下数组,数组就是把一组数据按顺序放在一起。PHP的数组和其它的语言数组有一点点不同:第一,保存的数据是可以是任何类型的;第二,数组的索引可以是数字,也可以是字符串。
    2011-04-04
  • php中$美元符号与Zen Coding冲突问题解决方法分享

    php中$美元符号与Zen Coding冲突问题解决方法分享

    Zen Coding是使用仿CSS选择器的语法来快速开发HTML和CSS ——由Sergey Chikuyonok开发。 Zen Coding由两个核心组件组成:一个缩写扩展器(缩写为像CSS一样的选择器)和上下文无关的HTML标签对匹配器。
    2014-05-05
  • PHP也能干大事之PHP中的编码解码详解

    PHP也能干大事之PHP中的编码解码详解

    这篇文章主要介绍了PHP也能干大事之PHP中的编码解码详解,本文讲解了ASCII编解码、URL编解码、Base64编解码、HTML实体编解码、二进制、八进制、十进制、十六进制相互转换等内容,需要的朋友可以参考下
    2015-04-04
  • 在php和MySql中计算时间差的方法详解

    在php和MySql中计算时间差的方法详解

    这篇文章主要介绍了在php和MySql中计算时间差的方法详解的相关资料,需要的朋友可以参考下
    2015-03-03
  • PHP-X系列教程之内置函数的使用示例

    PHP-X系列教程之内置函数的使用示例

    PHP-X本身基于C++11开发,使用cmake进行编译配置。下面这篇文章主要给大家介绍了关于PHP-X系列教程之内置函数使用的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-10-10
  • php Memcache 中实现消息队列

    php Memcache 中实现消息队列

    Memcache 一般用于缓存服务。但是很多时候,比如一个消息广播系统,需要一个消息队列。直接从数据库取消息,负载往往不行。如果将整个消息队列用一个key缓存到memcache里面.
    2009-11-11
  • php面向对象中static静态属性和静态方法的调用

    php面向对象中static静态属性和静态方法的调用

    这篇文章主要介绍了php面向对象中static静态属性和静态方法的调用,实例分析了static静态属性和静态方法的原理与调用技巧,需要的朋友可以参考下
    2015-02-02
  • PHP操作Redis常用技巧总结

    PHP操作Redis常用技巧总结

    这篇文章主要介绍了PHP操作Redis常用技巧,结合实例形式总结分析了php针对redis的连接、认证、string、hash等操作技巧与注意事项,需要的朋友可以参考下
    2018-04-04
  • PHP-FPM的配置与优化讲解

    PHP-FPM的配置与优化讲解

    今天小编就为大家分享一篇关于PHP-FPM的配置与优化讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-03-03
  • PHP5多态性与动态绑定介绍

    PHP5多态性与动态绑定介绍

    这篇文章主要介绍了PHP5多态性与动态绑定介绍,本文主要讲解了什么是多态性和什么是动态绑定,并给出相应实例,需要的朋友可以参考下
    2015-04-04

最新评论