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 intval的测试代码发现问题
Jul 27 PHP
php array_map array_multisort 高效处理多维数组排序
Jun 11 PHP
php之XML转数组函数的详解
Jun 07 PHP
PHP上传文件时文件过大$_FILES为空的解决方法
Nov 26 PHP
通过dbi使用perl连接mysql数据库的方法
Apr 16 PHP
ThinkPHP中的常用查询语言汇总
Aug 22 PHP
Thinkphp 中 distinct 的用法解析
Dec 14 PHP
PHP数据库操作四:mongodb用法分析
Aug 16 PHP
php+ajax实现无刷新文件上传功能(ajaxuploadfile)
Feb 11 PHP
PHP 应用容器化以及部署方法
Feb 12 PHP
PHP7 安装event扩展的实现方法
Oct 08 PHP
laravel5.5安装jwt-auth 生成token令牌的示例
Oct 24 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
用PHP连接Oracle数据库
2006/10/09 PHP
PHP clearstatcache()函数详解
2010/03/02 PHP
Yii中CArrayDataProvider和CActiveDataProvider区别实例分析
2016/03/02 PHP
PHP实现支付宝即时到账功能
2016/12/21 PHP
js每次Title显示不同的名言
2008/09/25 Javascript
解决jQuery插件tipswindown与hintbox冲突
2010/11/05 Javascript
使用CSS3的scale实现网页整体缩放
2014/03/18 Javascript
node.js中的dns.getServers方法使用说明
2014/12/08 Javascript
JavaScript数组和循环详解
2015/04/27 Javascript
非常棒的jQuery图片轮播效果
2016/04/17 Javascript
Js查找字符串中出现次数最多的字符及个数实例解析
2016/09/05 Javascript
浅谈jquery中使用canvas的问题
2016/10/10 Javascript
vue动态路由实现多级嵌套面包屑的思路与方法
2017/08/16 Javascript
微信小程序基于picker实现级联菜单
2019/02/15 Javascript
微信小程序点击图片实现长按预览、保存、识别带参数二维码、转发等功能
2019/07/20 Javascript
微信小程序 checkbox使用实例解析
2019/09/09 Javascript
JavaScript实现图片轮播特效
2019/10/23 Javascript
基于redis的小程序登录实现方法流程分析
2020/05/25 Javascript
对python 自定义协议的方法详解
2019/02/13 Python
使用python的pandas为你的股票绘制趋势图
2019/06/26 Python
Python求解排列中的逆序数个数实例
2020/05/03 Python
Django 解决上传文件时,request.FILES为空的问题
2020/05/20 Python
Python调用C语言程序方法解析
2020/07/07 Python
Python执行时间的几种计算方法
2020/07/31 Python
Python爬虫+Tkinter制作一个翻译软件的示例
2021/02/20 Python
详解HTML5中div和section以及article的区别
2015/07/14 HTML / CSS
简洁自适应404页面HTML好看的404源码
2020/12/16 HTML / CSS
士力架广告词
2014/03/20 职场文书
学校志愿者活动总结
2014/06/27 职场文书
2015年党建工作总结
2015/03/30 职场文书
水电施工员岗位职责
2015/04/11 职场文书
幼儿园教师师德承诺书
2015/04/28 职场文书
男生贾里读书笔记
2015/06/30 职场文书
2015年卫生院健康教育工作总结
2015/07/24 职场文书
电台广播稿范文
2015/08/19 职场文书
Win11 25163.1010更新补丁KB5016904推送,测试服务验证管道(附更新修复汇总)
2022/07/23 数码科技