自动类型转换:
布尔值参与运算TRUE转换成整形1,FALSE转换成整形0。
NULL值参与运算时,转换成整形1。
integer和float运算时将integer转换成float
字符串和数值型数据参与运算时“123abc”转换成整形123,“123.45abc”转换成浮点型123.45,“abc”转换成整形0。
强制类型转换:
1:
<?php $foo=10; $bar=(boolean)$foo; var_dump($bar);
2:
用转换函数转换变量的类型:<?php $str="123.45abc"; //声明一个字符串 $int=intval($str); //获取变量$str的整形值123 $float=floatval($str); //获取变量$str的浮点值123.45 $str=strval(123.45); //得到字符串值"123.45"3:以上两种都没有改变变量本身的类型
<?php $a="123abc"; $b="123abc"; $c=123; settype($a,"int"); settype($b,"bool"); settype($c,"string"); var_dump($a); var_dump($b); var_dump($c);显示为:int 123boolean truestring '123' (length=3)注意:自PHP5起,如果试图将对象转换成浮点数,将会发出一条E_NOTICE错误0类型转换细节:如果一个浮点数超过整型数字的有效范围,其结果是不确定的,C++中是取模。
变量类型的测试函数:
gettype();//返回包含名称的字符串,如果不是8种标准类型之一,返回unknow type is_bool(); is_int(); is_float(); is_float(); is_array(); is_object(); is_resource();//是否是资源类型 is_null(); is_scalar();//是否是一个标量,也就是整数、浮点数、布尔型、字符串 is_numeric();//是否是任何类型的数字或数字字符串 is_callable();//是否是有效的函数名注意:<?php $a=true; $b=false; echo $a; echo $b;输出1,TRUE输出1,FALSE什么都不输出
新闻热点
疑难解答
图片精选