自动类型转换
echo 123;//123
echo "<br/>";
echo 34.5;//34.5
echo "<br/>";
echo true;//1
echo "<br/>";
echo false;//空字符串
echo "<br/>";
echo null;//空字符串
echo "<br/>";
$arr = array();
echo $arr;//Array
echo "<br/>";
$handle = fopen('footer.php', 'r');
echo $handle;//Resource id #3
echo "<br/>";
$obj = new stdClass();
echo $obj;//Catchable fatal error 使用__tostring魔术方法
强制类型转换
(string)
$var = 123;
$var = 23.3;
$res = (string)$var;
var_dump($res);//string '123' (length=3)
$var = true;
$res = (string)$var;
var_dump($res);//string '1' (length=1)
$var = array(1, 2, 3, 4);
$res = (string)$var;
var_dump($res);//string 'Array' (length=5)
strval()
$var = 123;
$var = 23.3;
$res = strval($var);
var_dump($res);//string '23.3' (length=4)
gettype
settype
$str='king';
echo gettype($str);//string
echo "<hr/>";
$var=12;
settype($var,'string');
var_dump($var);//string '12' (length=2)
字符串转换成其他类型
取合法数字 如果不是以合法数字开始 转换成0
echo 1 + '3king';//4
echo "<br/>";
echo 1.2 + '4abc';//5.2
echo '<br/>';
echo 3 + '2e2';//203
echo '<br/>';
echo 2 + 'true';//2 true:0
字符串转换成布尔类型的规律
空字符串或者是'0' "0"->false
echo "<br/>";
$str='0.0';//true
$str='false';//true
$str='';//false
$str='0';//false
$str=0;//false
$str=null;//false
if($str){
echo "true";
}else{
echo "false";//false
}