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 相关文章推荐
MayFish PHP的MVC架构的开发框架
Aug 13 PHP
PHP var_dump遍历对象属性的函数与应用代码
Jun 04 PHP
php图片上传存储源码并且可以预览
Aug 26 PHP
获取php页面执行时间,数据库读写次数,函数调用次数等(THINKphp)
Jun 03 PHP
浅谈php扩展imagick
Jun 02 PHP
php常用的url处理函数总结
Nov 19 PHP
PHP之正则表达式捕获组与非捕获组(详解)
Jul 29 PHP
讲解WordPress中用于获取评论模板和搜索表单的PHP函数
Dec 28 PHP
php简单随机字符串生成方法示例
Apr 19 PHP
php基于环形链表解决约瑟夫环问题示例
Nov 07 PHP
PHP实现按之字形顺序打印二叉树的方法
Jan 16 PHP
ThinkPHP3.2框架自带分页功能实现方法示例
May 13 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
基于mysql的bbs设计(二)
2006/10/09 PHP
深入理解ob_flush和flush的区别(ob_flush()与flush()使用方法)
2013/02/06 PHP
作为PHP程序员应该了解MongoDB的五件事
2013/06/03 PHP
preg_match_all使用心得分享
2014/01/31 PHP
PHP登录环节防止sql注入的方法浅析
2014/06/30 PHP
PHP回溯法解决0-1背包问题实例分析
2015/03/23 PHP
Mac版PhpStorm之XAMPP整合apache服务器配置的图文教程详解
2016/10/13 PHP
使用PHP下载CSS文件中的所有图片【几行代码即可实现】
2016/12/14 PHP
PhpStorm配置Xdebug调试的方法步骤
2019/02/02 PHP
js获取单选框或复选框值及操作
2012/12/18 Javascript
使用jQuery实现的掷色子游戏动画效果
2014/03/14 Javascript
最短的IE判断var ie=!-[1,]分析
2014/05/28 Javascript
jQuery实现根据类型自动显示和隐藏表单
2015/03/18 Javascript
Javascript实现快速排序(Quicksort)的算法详解
2015/09/06 Javascript
Java中Timer的用法详解
2015/10/21 Javascript
EasyUI中在表单提交之前进行验证
2016/07/19 Javascript
vue使用axios时关于this的指向问题详解
2017/12/22 Javascript
JS与CSS3实现图片响应鼠标移动放大效果示例
2018/05/04 Javascript
angularjs 的数据绑定实现原理
2018/07/02 Javascript
vue中使用heatmapjs的示例代码(结合百度地图)
2018/09/05 Javascript
微信小程序自定义toast组件的方法详解【含动画】
2019/05/11 Javascript
JS实现利用闭包判断Dom元素和滚动条的方向示例
2019/08/26 Javascript
Webpack设置环境变量的一些误区详解
2019/12/19 Javascript
python通过scapy获取局域网所有主机mac地址示例
2014/05/04 Python
Python基于动态规划算法解决01背包问题实例
2017/12/06 Python
Python实现matplotlib显示中文的方法详解
2018/02/06 Python
关于Django ForeignKey 反向查询中filter和_set的效率对比详解
2018/12/15 Python
python制作图片缩略图
2019/04/30 Python
python程序运行进程、使用时间、剩余时间显示功能的实现代码
2019/07/11 Python
python3.x提取中文的正则表达式示例代码
2019/07/23 Python
python数据持久存储 pickle模块的基本使用方法解析
2019/08/30 Python
财务人员个人自荐信范文
2013/09/26 职场文书
迎新晚会主持词
2014/03/24 职场文书
学校领导班子四风对照检查材料
2014/09/27 职场文书
导游词之安徽巢湖
2019/12/26 职场文书
特别篇动画《总之就是非常可爱 ~制服~》PV公开,2022年夏季播出
2022/04/04 日漫