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 相关文章推荐
Windows下PHP5和Apache的安装与配置
Sep 05 PHP
xml+php动态载入与分页
Oct 09 PHP
用PHP查询搜索引擎排名位置的代码
Jan 05 PHP
php笔记之:初探PHPcms模块开发介绍
Apr 26 PHP
单台服务器的PHP进程之间实现共享内存的方法
Jun 13 PHP
php实现的Curl封装类Curl.class.php用法实例分析
Sep 25 PHP
PHP反射API示例分享
Oct 08 PHP
PHP实现对数组分页处理实例详解
Feb 07 PHP
深入解析PHP中SESSION反序列化机制
Mar 01 PHP
PHP创建单例后台进程的方法示例
May 23 PHP
掌握PHP垃圾回收机制详解
Mar 13 PHP
laravel实现上传图片并在页面显示的例子
Oct 14 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中用文本文件做数据库的实现方法
2008/03/27 PHP
PHP合并数组+与array_merge的区别分析
2010/08/01 PHP
PHP中全面阻止SQL注入式攻击分析小结
2012/01/30 PHP
解析php DOMElement 操作xml 文档的实现代码
2013/05/10 PHP
PHP会话控制:Session与Cookie详解
2014/09/27 PHP
Zend Framework开发入门经典教程
2016/03/23 PHP
详解Laravel服务容器的绑定与解析
2019/11/05 PHP
jQuery Ajax 全解析
2009/02/08 Javascript
用jQuery技术实现Tab页界面之二
2009/09/21 Javascript
js调用webservice中的方法实现思路及代码
2013/02/25 Javascript
javascript图片相似度算法实现 js实现直方图和向量算法
2014/01/14 Javascript
javascript操作字符串的原生方法
2014/12/22 Javascript
JS如何实现文本框随文本的长度而增长
2015/07/30 Javascript
jQuery Ajax请求后台数据并在前台接收
2016/12/10 Javascript
基于AGS JS开发自定义贴图图层
2017/03/31 Javascript
vue单页面打包文件大?首次加载慢?nginx带你飞,从7.5M到1.3M蜕变过程(推荐)
2018/01/16 Javascript
swiper动态改变滑动内容的实现方法
2018/01/17 Javascript
关于vue-cli3打包代码后白屏的解决方案
2020/09/02 Javascript
[44:26]DOTA2上海特级锦标赛主赛事日 - 2 胜者组第一轮#4EG VS Fnatic第二局
2016/03/03 DOTA
Python 异常处理实例详解
2014/03/12 Python
跟老齐学Python之折腾一下目录
2014/10/24 Python
Python中生成器和yield语句的用法详解
2015/04/17 Python
解决已经安装requests,却依然提示No module named requests问题
2018/05/18 Python
使用selenium模拟登录解决滑块验证问题的实现
2019/05/10 Python
使用 tf.nn.dynamic_rnn 展开时间维度方式
2020/01/21 Python
python打印文件的前几行或最后几行教程
2020/02/13 Python
Python垃圾回收机制三种实现方法
2020/04/27 Python
德国最大的拼图在线商店:Puzzle.de
2016/12/17 全球购物
英国领先的鞋类零售商:Shoe Zone
2018/12/13 全球购物
大学生职业规划范文:象牙塔生活的四年计划
2014/01/14 职场文书
幼儿园数学教学反思
2014/02/02 职场文书
办公室秘书岗位职责范本
2014/02/11 职场文书
《小石潭记》教学反思
2014/02/13 职场文书
法学自荐信
2014/06/20 职场文书
如何签定毕业生就业协议书
2014/09/28 职场文书
2016党员党课心得体会
2016/01/07 职场文书