您的位置:首页 > 编程语言 > PHP开发

php数据类型转换

2012-08-01 00:06 295 查看
<?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
?>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: