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


Posted in PHP onJuly 20, 2019

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

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

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

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

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

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

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

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

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

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

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

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

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

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版
Oct 09 PHP
以文本方式上传二进制文件的PHP程序
Oct 09 PHP
cache_lite试用
Feb 14 PHP
php 获取mysql数据库信息代码
Mar 12 PHP
apache配置虚拟主机的方法详解
Jun 17 PHP
PHP采集类Snoopy抓取图片实例
Jun 19 PHP
使用array_map简单搞定PHP删除文件、删除目录
Oct 29 PHP
php生成短域名函数
Mar 23 PHP
PHP动态柱状图实现方法
Mar 30 PHP
Yii2中如何使用modal弹窗(基本使用)
May 30 PHP
Yii配置与使用memcached缓存的方法
Jul 13 PHP
PHP常用函数总结(180多个)
Dec 25 PHP
PHP检测一个数组有没有定义的方法步骤
Jul 20 #PHP
PHP defined()函数的使用图文详解
Jul 20 #PHP
php实现 master-worker 守护多进程模式的实例代码
Jul 20 #PHP
PHP抽象类和接口用法实例详解
Jul 20 #PHP
PHP使用PDO、mysqli扩展实现与数据库交互操作详解
Jul 20 #PHP
Smarty模板语法详解
Jul 20 #PHP
Smarty模板变量与调节器实例详解
Jul 20 #PHP
You might like
ThinkPHP开发--使用七牛云储存
2017/09/14 PHP
windows 2008r2+php5.6.28环境搭建详细过程
2019/06/18 PHP
jquery mobile事件多次绑定示例代码
2013/09/13 Javascript
JavaScript中判断变量是数组、函数或是对象类型的方法
2015/02/25 Javascript
js判断当前页面用什么浏览器打开的方法
2016/01/06 Javascript
详解使用vue实现tab 切换操作
2017/07/03 Javascript
利用C/C++编写node.js原生模块的方法教程
2017/07/07 Javascript
Bootstrap Tooltip显示换行和左对齐的解决方案
2017/10/11 Javascript
微信小程序 动画的简单实例
2017/10/12 Javascript
nodejs 简单实现动态html的方法
2018/05/12 NodeJs
iview实现select tree树形下拉框的示例代码
2018/12/21 Javascript
详解VUE项目中安装和使用vant组件
2019/04/28 Javascript
nodemon实现Typescript项目热更新的示例代码
2019/11/19 Javascript
跟老齐学Python之集合(set)
2014/09/24 Python
python在windows命令行下输出彩色文字的方法
2015/03/19 Python
python中日期和时间格式化输出的方法小结
2015/03/19 Python
python获得linux下所有挂载点(mount points)的方法
2015/04/29 Python
python使用正则表达式匹配字符串开头并打印示例
2017/01/11 Python
Python全排列操作实例分析
2018/07/24 Python
详解Python 装饰器执行顺序迷思
2018/08/08 Python
python实现两张图片的像素融合
2019/02/23 Python
Python3日期与时间戳转换的几种方法详解
2019/06/04 Python
python自动化之Ansible的安装教程
2019/06/13 Python
python爬虫之快速对js内容进行破解
2019/07/09 Python
利用python计算时间差(返回天数)
2019/09/07 Python
详解基于python-django框架的支付宝支付案例
2019/09/23 Python
Python 实现递归法解决迷宫问题的示例代码
2020/01/12 Python
关于Python turtle库使用时坐标的确定方法
2020/03/19 Python
Pycharm如何导入python文件及解决报错问题
2020/05/10 Python
九年级政治教学反思
2014/02/06 职场文书
护理专业求职信
2014/06/15 职场文书
大学生操行评语大全
2014/12/31 职场文书
家长会欢迎词
2015/01/23 职场文书
2015年度残疾人工作总结
2015/05/14 职场文书
企业安全隐患排查治理制度
2015/08/05 职场文书
PHP判断是否是json字符串
2021/04/01 PHP