php中变量的数据类型相互转换问题

 一般可以认为php中共有整型、浮点型、字符串型、布尔型、数组、对象这六种数据类型,这六种数据类型之间也是可以相互转换的,下面就是它的转换规则:

(1)转换成整型:在将非整型数据转换成整型时,方法是在变量前使用“(integer)”或“(int)”。转换规则如下:

浮点型转换成整型:小数点后的数字将被舍弃;如果浮点数超过整数取值范围,那么将无法得到有效的整型结果,结果可能是0或者整型的最小负数。

布尔型转换成整型:true值转为1,false转为0。

字符串型转换成整型:对字符串左侧第一位进行判断,如果第一位是数字,则从第一位开始将读取到的数字转换成整型;如果第一位不是数字,则结果为0。

(2)转换成浮点型:方法是在变量前使用“(float)”。转换规则如下:

整型转换成浮点型:其结果不会发生变化。

布尔型转换成浮点型:true值转换成1,false值转换成0。

字符串型转换成浮点型:如果字符串中包含小数点“.”或者科学计数法的“e”或者“E”中的任何一个字符,则字符串被当作浮点型处理;否则,被视为整型。

(3)转换成字符串型:方法是在变量前使用“(string)”。转换规则如下:

整型或者浮点型转换成字符串:转换结果为其数值。

布尔型转换为字符串:true值转换为字符串“1”,false值转换为空字符串。

对象或数组型转换为字符串:转换结果是字符串对象或者字符串数组。

资源型转换成字符串型:转换结果为一个类似“Resourse id#”的字符串,在“#”之后是PHP在运行时分配给该资源的标识符号。

(4)转换成布尔型:方法是在变量前使用“(boolean)”或“(bool)”。转换规则如下:

转换结果为false的情况:整型或者浮点型数为0的时候;空字符串和字符串“0”;没有任何元素的空数组;没有任何元素的对象;特殊类型“NULL”。

转换结果为true的情况:除了上述转换为false的情况外,其余情况都转换为true。

(5)转换成数组:方法是在变量前使用“(array)”。转换规则如下:

将非数组型转换成与原变量数据类型相同的数组,数组中只有一个元素。

(6)转换成对象:方法是在变量前使用“(object)”。转换规则如下:

将非对象类型转换成一个新的对象,其中名为scalar的成员变量将包含原变量的值。

本文标题:php中变量的数据类型相互转换问题

本文链接:http://yedward.net/?id=11

本文版权归作者所有,欢迎转载,转载请以文字链接的形式注明文章出处。

相关文章