简介
PHP中的类型转换和C语言一样,非常简单,只需在变量前加上用括号括起来的类型名称即可。
null、0和未赋值的变量或数组转换成boolean型时会被转换为false,其他的为true;
转换成整型时,布尔型的false转换为0,true转换为1,浮点型的小数部分被舍去,字符型如果以数字开头就截取到非数字位,否则输出0。
第一种转换方式: (int) (bool) (float) (string) (array) (object)
<?php
$num=123; //整形
$str="1234test";//字符串
$float=3.14; //浮点型
$config=array( //数组
'user' => "123456",
'dbname' => "root",
);
class test
{
var $name="test";
function action()
{
echo "我的名字叫".$this->name."";
}
}
$obj=new test; //对象
$bool=true; //布尔型
$str1=(string)$num; //整型转换成字符串
var_dump($str1);
echo "</p>";
$float1=(float)$str; //字符串转换成浮点型
var_dump($float1);
echo "</p>";
$bool1=(boolean)$float; //浮点型转换成布尔型
var_dump($bool1);
echo "</p>";
$obj1=(object)$config; //数组转换成对象
var_dump($obj);
echo "</p>";
$array1=(array)$obj; //对象转成数组
var_dump($array1);
echo "</p>";
?>
运行结果:
settype()函数
类型转换还可以通过settype()函数来完成,该函数可以将指定的变量转换成指定的数据类型。其基本格式为:
settype(var,type)
其中var为指定的变量;type为指定的类型,它有7个可选值,即boolean、float、integer、array、null、object和string。如果转换成功,则返回true,否则返回false。例如:
<?php
$num=123456789; //整形
$str=settype($num,"string");//整形转换成字符串
var_dump($str); //输出bool
echo "</p>"; //换行
var_dump($num); //输出转换后的$num
?>
运行结果: