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);

 

posted @ 2012-09-24 10:11  qbx1986  阅读(223)  评论(0编辑  收藏  举报