PHP中的integer类型使用分析

yipeiwu_com6年前PHP代码库
integer 可以已10进制,8进制,16进制表示。
用八进制表示的时候,数字需要已0(零)开头;
用十六进制表示的时候,数字需要已0x(零x)或者0X(零大写X)开头;

integer 溢出: integer溢出的时候,会自动的转化为float类型。同样的,如果integer类型的操作结果溢出了integer类型的边界,也会自动转化为float类型。
需要注意的一点就是,integer类型没有"/" (除法)操作,如果需要获得一个整型可以使用round等函数,或者直接使用(int)或(integer)进行强制类型转化为integer也行.

转换为integer:
boolean 转化为integer:
1、true 总是转换为 1;
2、false总是转换为 0;
float转化为integer:
1、如果float类型值没有超过integer的边界值,那么转换的时候会直接将小数部分直接截掉。
2、如果float类型值超过了integer的边界值,那么转换的结果是没定义的,但几乎肯定不是预期的结果。
array类型转换为integer:
1、空array总是转化为0;
2、非空array总是转化为1;
object转换为integer:
1、把object类型的值转换为integer 会产生类似 Object of class stdClass could not be converted to int 的Notice 信息。转换的结果为1;
string转化为integer:
1、如果string以数字开头并且,其中不包含字符‘.','e','E',并且数字的值在integer范围之内,string将转化为integer。
复制代码 代码如下:

$resource = fopen('d:/tmp/test.txt', 'rb');
var_dump($resource, (int)$resource);

2、如果string为空字符串,或者没有已数字开头,string可以转化为integer 0;
3、其他情况下 string将会转化为float类型;
resources转换为integer:
1、将resources类型的值转换为integer,会将resource对应的id
例如:

的结果
复制代码 代码如下:

resource(3) of type (stream) int(3)

null转换为integer:
1、null转换为integer总是0
未定义的变量转化为integer:
1、未定义的变量转换为integer会产生一个notice信息,并转换为0

相关文章

php文件缓存类用法实例分析

本文实例讲述了php文件缓存类用法。分享给大家供大家参考。具体如下: <?php /** * 简单的文件缓存类 * */ class XZCache{ // d...

PHP排序算法之直接插入排序(Straight Insertion Sort)实例分析

本文实例讲述了PHP排序算法之直接插入排序(Straight Insertion Sort)。分享给大家供大家参考,具体如下: 算法引入: 在这里我们依然使用《大话数据结构》里面的一个例...

验证坐标在某坐标区域内php代码

验证坐标在某坐标区域内php代码

之前碰到的这样一个需求,要将公司的服务在地图中显示出来,并将用户每天的访问坐标进行统计看有多少用户是在所能达到的服务范围半径内。 以下是PHP代码的实现 (仅验证坐标在某片坐标区域内)...

php校验公钥是否可用的实例方法

ssh如何利用RSA公钥进行远程登录验证 1、本地机器生成密钥 $ssh-keygen -t rsa 生成基于ssh协议第二版密钥,如果还是用rsa1,该升级了。 2、复制生...

php中的静态变量的基本用法

静态变量只存在于函数作用域内,静态变量只存活在栈中。一般的函数内变量在函数结束后会释放,比如局部变量,但是静态变量却不会。下次再调用这个函数的时候,该变量的值会保留下来。 静态的变量的基...