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
模仿OSO的论坛(三)
Oct 09 PHP
怎样在php中使用PDF文档功能
Oct 09 PHP
PHP下用rmdir实现删除目录的三种方法小结
Apr 20 PHP
snoopy 强大的PHP采集类使用实例代码
Dec 09 PHP
PHP 命令行工具 shell_exec, exec, passthru, system详细使用介绍
Sep 11 PHP
VIM中设置php自动缩进为4个空格的方法详解
Jun 14 PHP
PHP实现定时执行任务的方法
Oct 05 PHP
最新版本PHP 7 vs HHVM 多角度比较
Feb 14 PHP
PHP实现的通过参数生成MYSQL语句类完整实例
Apr 11 PHP
PHP之将POST数据转化为字符串的实现代码
Nov 03 PHP
Yii2.0使用阿里云OSS的SDK上传图片、下载、删除图片示例
Sep 20 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
Home Coffee Roasting
2021/03/03 咖啡文化
linux环境apache多端口配置虚拟主机的方法深入介绍
2013/06/09 PHP
ThinkPHP分组下自定义标签库实例
2014/11/01 PHP
ioncube_loader_win_5.2.dll的错误解决方法
2015/01/04 PHP
php轻量级的性能分析工具xhprof的安装使用
2015/08/12 PHP
Yii2学习笔记之汉化yii设置表单的描述(属性标签attributeLabels)
2017/02/07 PHP
thinkphp3.2同时连接两个数据库的简单方法
2019/08/13 PHP
收集的网上用的ajax之chat.js文件
2007/04/08 Javascript
利用JQuery为搜索栏增加tag提示
2009/06/22 Javascript
js获取url中指定参数值的示例代码
2013/12/14 Javascript
Bootstrap组件学习之导航、标签、面包屑导航(精品)
2016/05/17 Javascript
js轮播图代码分享
2016/07/14 Javascript
WebSocket实现简单客服聊天系统
2017/05/12 Javascript
实现一个完整的Node.js RESTful API的示例
2017/09/29 Javascript
node.js express框架简介与实现
2019/07/23 Javascript
构建大型 Vue.js 项目的10条建议(小结)
2019/11/14 Javascript
使用Vant完成Dialog弹框案例
2020/11/11 Javascript
Python之日期与时间处理模块(date和datetime)
2017/02/16 Python
Python多进程与服务器并发原理及用法实例分析
2018/08/21 Python
python实现画循环圆
2019/11/23 Python
萌新的HTML5 入门指南
2020/11/06 HTML / CSS
英国马莎百货官网:Marks & Spencer
2016/07/29 全球购物
原装进口全世界:天猫国际
2016/08/03 全球购物
医疗保健专业人士购物网站:Scrubs & Beyond
2017/02/08 全球购物
英超联赛的首选足球:Mitre足球
2019/05/06 全球购物
Berghaus官网:户外服装和设备,防水服
2020/01/17 全球购物
编写一个 C 函数,该函数在一个字符串中找到可能的最长的子字符串,且该字符串是由同一字符组成的
2015/07/23 面试题
竞争上岗实施方案
2014/03/21 职场文书
代理协议书
2014/04/22 职场文书
宾馆仓管员岗位职责
2014/07/27 职场文书
简易离婚协议书范本
2014/10/24 职场文书
学校中秋节活动总结
2015/03/23 职场文书
奖励申请报告范文
2015/05/15 职场文书
横空出世观后感
2015/06/09 职场文书
导游词之晋城蟒河
2019/12/12 职场文书
pandas中关于apply+lambda的应用
2022/02/28 Python