(1)转换成整型。在将非整型数据转换成整型时,方法在变量前使用(integer)或者(int),装换规则如下:
浮点型装换成整型。小数点后的数将被舍弃,如果浮点数超过整数取值范围,那么将无法得到有效的整型结果,结果可能是0或者整型的最小负数。
布尔型转成整型。true值将转换为1,false将转换为0。
字符串型转换为整型,将会对字符串左侧的第1位进行判断。如果第一位是数字,则从第1位开始将读取到的数字转换成整形;如果第一位不是数字,则结果为0;
(2)转换成浮点型,方法在变量前使用(float),转换规则如下:
整型转换为浮点型。其结果不会发生变化。
布尔型转换为浮点型,同样true值将转换为1,false将转换为0。
字符串型转换浮点型,如果字符串中包含小数点"."或科学记数法的“e”或者“E”中的任何一个字符,字符串被当作浮点型处理,否则,被视为整型。
(3)转换成字符串型。方法在变量前使用(string),转换规则如下:
整型或者浮点型转换成字符串型。转换结果为其数值。
布尔型转换为字符串型。true值将转化为字符串“1”。false将转换为空字符串。
对象或者数组型转换成字符串型。那么转换结果为字符串对象或者字符串数组。
资源型转换成字符串型。转换结果为一个类似“Resource id#”的字符串。在“#”之后是PHP在运行时分配给该资源的标识代号。
(4)转换成布尔型。方法在变量前使用(boolean)或者(bool)。因为布尔型只包含两个值:true和false。所以其转换规则包括两个方面:
整型或者浮点型false的情况。
空字符串和字符串"0"。
没有任何元素的空数组。
没有任何元素的对象。
特殊类型NULL。
第二方面,转换结果为true的情况。排除在第一方面说明的情况,其他转换结果为ture。
(5)转换成数组,方法在变量前使用(array)。转换规则是:将非数组型转换成与原变量数据类型相同的数组,数组中只有一个元素。
(6)转换成对象。方法在变量前使用(object),转换规则是:将非对象型转换成一个新的对象,其中名为scalar的成员变量将包含原变量的值。
一起设计吧