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 相关文章推荐
海河写的 Discuz论坛帖子调用js的php代码
Aug 23 PHP
php初学者写及时补给skype用户充话费的小程序
Nov 02 PHP
使用php实现快钱支付功能(涉及到接口)
Jul 01 PHP
CI(CodeIgniter)框架配置
Jun 10 PHP
Yii中使用PHPExcel导出Excel的方法
Dec 26 PHP
PHP中大于2038年时间戳的问题处理方案
Mar 03 PHP
php抓取网站图片并保存的实现方法
Oct 29 PHP
CodeIgniter连贯操作的底层原理分析
May 17 PHP
php gd等比例缩放压缩图片函数
Jun 12 PHP
thinkphp分页集成实例
Jul 24 PHP
PHP实现广度优先搜索算法(BFS,Broad First Search)详解
Sep 16 PHP
解决php用mysql方式连接数据库出现Deprecated报错问题
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
成本8450万,票房仅2亿,口碑两极分化,又一部DC电影扑街了
2020/04/09 欧美动漫
改德生G88 - 加装等响度低音提升电路
2021/03/02 无线电
外媒评选出10支2020年最受欢迎的Dota2战队
2021/03/05 DOTA
php魔术方法与魔术变量、内置方法与内置变量的深入分析
2013/06/03 PHP
windows环境下php配置memcache的具体操作步骤
2013/06/09 PHP
Yii框架防止sql注入,xss攻击与csrf攻击的方法
2016/10/18 PHP
浅谈PHP中的错误处理和异常处理
2017/02/04 PHP
php中html_entity_decode实现HTML实体转义
2018/06/13 PHP
Laravel框架自定义验证过程实例分析
2019/02/01 PHP
不错的JS中变量相关的细节分析
2007/08/13 Javascript
利用腾讯的ip地址库做ip物理地址定位
2010/07/24 Javascript
javascript中注册和移除事件的4种方式
2013/03/20 Javascript
利用jQuery实现可输入搜索文字的下拉框
2013/10/23 Javascript
nodejs文件操作模块FS(File System)常用函数简明总结
2014/06/05 NodeJs
node.js中的url.format方法使用说明
2014/12/10 Javascript
easyUI实现(alert)提示框自动关闭的实例代码
2016/11/07 Javascript
JavaScript实现多重继承的方法分析
2018/01/09 Javascript
Python日志模块logging简介
2015/04/13 Python
连接Python程序与MySQL的教程
2015/04/29 Python
python计算圆周率pi的方法
2015/07/11 Python
Python基于回溯法子集树模板解决取物搭配问题实例
2017/09/02 Python
Django视图和URL配置详解
2018/01/31 Python
Python多进程原理与用法分析
2018/08/21 Python
Python3 jupyter notebook 服务器搭建过程
2018/11/30 Python
python截取两个单词之间的内容方法
2018/12/25 Python
python多线程同步之文件读写控制
2021/02/25 Python
解决django-xadmin列表页filter关联对象搜索问题
2019/11/15 Python
解决ROC曲线画出来只有一个点的问题
2020/02/28 Python
css3 响应式媒体查询的示例代码
2019/09/25 HTML / CSS
纯CSS绘制漂亮的圆形图案效果
2014/05/07 HTML / CSS
html5 制作地图当前定位箭头的方法示例
2020/01/10 HTML / CSS
面向对象编程OOP的优点
2013/01/22 面试题
安全协议书
2014/04/23 职场文书
行政撤诉申请书
2015/05/18 职场文书
MySQL 外键约束和表关系相关总结
2021/06/20 MySQL
js 实现验证码输入框示例详解
2022/09/23 Javascript