PHP中的integer类型使用分析 |
本文标签:PHP,integer类型 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 |