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 相关文章推荐
模仿OSO的论坛(五)
Oct 09 PHP
PHP 身份证号验证函数
May 07 PHP
php XPath对XML文件查找及修改实现代码
Jul 27 PHP
PHP分多步骤填写发布信息的简单方法实例代码
Sep 23 PHP
常见的四种POST 提交数据方式(小总结)
Oct 08 PHP
PHP 闭包详解及实例代码
Sep 28 PHP
基于php实现的php代码加密解密类完整实例
Oct 12 PHP
php将html转为图片的实现方法
May 19 PHP
PHP重置数组为连续数字索引的几种方式总结
Mar 12 PHP
小程序微信支付功能配置方法示例详解【基于thinkPHP】
May 05 PHP
浅谈laravel 5.6 安装 windows上使用composer的安装过程
Oct 18 PHP
PHP数组实际占用内存大小原理解析
Dec 11 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
使用dump函数,给php加断点测试
2013/06/25 PHP
详解laravel安装使用Passport(Api认证)
2018/07/27 PHP
基于jquery的使ListNav兼容中文首字拼音排序的实现代码
2011/07/10 Javascript
jQuery方法简洁实现隔行换色及toggleClass的使用
2013/03/15 Javascript
js同比例缩放图片的小例子
2013/10/30 Javascript
JS对文本框值的判断示例
2014/03/10 Javascript
JQuery1.8 判断元素是否绑定事件的方法
2014/07/10 Javascript
JavaScript函数详解
2015/02/27 Javascript
BootStrap modal模态弹窗使用小结
2016/10/26 Javascript
Vue 固定头 固定列 点击表头可排序的表格组件
2016/11/25 Javascript
浅谈vue,angular,react数据双向绑定原理分析
2017/11/28 Javascript
JavaScript继承定义与用法实践分析
2018/05/28 Javascript
react-router 路由切换动画的实现示例
2018/12/03 Javascript
JavaScript 截取字符串代码实例
2019/09/05 Javascript
使用Vue 自定义文件选择器组件的实例代码
2020/03/04 Javascript
Vue+Bootstrap收藏(点赞)功能逻辑与具体实现
2020/10/22 Javascript
python实现dict版图遍历示例
2014/02/19 Python
使用 Python 实现微信公众号粉丝迁移流程
2018/01/03 Python
详解Python 重学requests发起请求的基本方式
2020/02/07 Python
简述python&amp;pytorch 随机种子的实现
2020/10/07 Python
CSS3中的元素过渡属性transition示例详解
2016/11/30 HTML / CSS
简述Html5 IphoneX 适配方法
2018/02/08 HTML / CSS
美味咖啡的顶级烘焙师:Cafe Britt
2018/03/15 全球购物
英国美术用品购物网站:Cass Art
2019/10/08 全球购物
伦敦香水公司:The London Perfume Company
2019/11/13 全球购物
Windows和Linux动态库应用异同
2016/04/17 面试题
在校生汽车维修实习自我鉴定
2013/09/19 职场文书
办公室前台的岗位职责
2013/12/20 职场文书
教师应聘自荐信范文
2014/03/14 职场文书
《欢乐的泼水节》教学反思
2014/04/22 职场文书
个人买房协议书范本
2014/10/06 职场文书
国际贸易实务实训报告
2014/11/05 职场文书
如何书写邀请函?
2019/06/24 职场文书
教你使用TensorFlow2识别验证码
2021/06/11 Python
django中websocket的具体使用
2022/01/22 Python
apache ftpserver搭建ftp服务器
2022/05/20 Servers