PHP虽然是弱数据类型的语言,但是有时候,也需要进行数据类型的转换。
类型转换有2种方法,第1种方法很简单,用括号括起来相应地类型名称即可,如:
(boolean) 转换为布尔型
(string) 转换为字符型
(integer)转换为整型
需要注意的是:
1. 在转换为boolean型时,null,0,和未赋值的变量或数组会被转换为false,其它会被转换为true
2. 在转换为integer时,布尔型的false会转换为0,true会转换为1;浮点型的小数会被舍去,字符型如果以数字开头就截取到非数字位(包括小数点),否则输出0
类型转换的第2种方法是使用settype( ) 函数来做。这个函数的作用是直接将变量的类型转换为目标类型。其声明格式是:
bool settype(mixed var, string type)
如果转换成功,含税就返回true;如果不成功,就返回false。下面的例子说明了settype函数与一般类型转换的区别:
<?php
$a = '1234abc'; //定义字符串$a
echo (integer)$a; //将字符串$a转换为整型,输出结果为1234
echo $a; //还输出1234abc,字符串本身并没有改变
echo settype($a,'integer'); //使用settype函数把原字符串的值和类型转换成integer,输出结果为1,表示转换成功
echo "$a"; //再次输出$a的值,获得的是1234,原字符串已经改变了
?>