php学习笔记--数据类型转换
/*布尔型参与运算,TRUE转为整型1,FALSE转为整型0后再参与运算, 有NULL值参与运算时,NULL值转化为整型0再进行计算, 有integer型和float型参与运算时,先把integer型转为float型再进行计算。 有字符串和数字型数据参与运算,字符串先转换为数字,再参与运算。 转化后的数字是从字符串开始的数值型字符串,如果不带小数点则转为integer 类型数字,如果带有小数点则转为float类型数字。*/ $foo="100page";//string $foo+=2;//102 integer $foo=$foo+1.3;//103.3 float echo $foo=NULL+"10 little pigs";// 10 integer echo $foo=true+"10 little pigs";// 11 integer $foo=5+"10.05yuan";//15.05 float echo '<br>'; $foo='page100'; echo 2+$foo;//2 echo $foo+2;//2 echo $foo+=2;//2 echo $foo;//2 if($foo-2){echo '222222';}//false //123abc转为integer 123 ; 123.45abc转为float 123.45 ; abc123 转为integer0 ; //强制类型转换 $foo=10;//整型 $bar=(boolean)$foo;//布尔 /* (int),(integer)-转整型 (bool),(boolean)-转布尔型 (float),(double),(real)-转浮点型 (string)-转字符串 (array)-转数组 (object)-转对象 */ $str="123.45abc"; $int=intval($str);//123 $flo=floatval($str);//123.45 $str=strval(123.45);//"123.45" $foo="5bar";//string $bar=true;//boolean settype($foo,"integer");//foo现在是5 integer settype($bar,"string");//bar现在是"1" string /*integer转float,精度不变;float转integer,自动舍弃小数部分;整型最大:2.147e9;NULL转为字符串,为"" 空字符串 /*判断参数类型的函数 is_bool() is_int(),is_integer(),is_long() is_float(),is_double(),is_real() is_string() is_array() is_object() is_resource() 资源 is_null() is_scalar() 标量 integer float boolean string is_numberic() 任何类型数字和数字字符串 is_callable() 有效的函数名 */ $a=1; echo gettype($a);//integer $a=""; echo gettype($a);//string echo "<br>"; $a="Hello"; $b="World"; echo "{$a}{$b}<br>";//HelloWorld echo $a.$b.'<br>';//HelloWorld echo implode('',array($a,$b)).'<br>';//HelloWorld ECHO is_bool(!NULL);