时间:2021-07-01 10:21:17 帮助过:13人阅读
php是弱类型语言,在运算中会根据运算符将数据转换成该运算符所能处理的数据。
1.自动转换
$a = "3";
$b = "5";
$c = $a + $b ;
var_dump($c);//8 integer
3. 连接运算符. 转成字符串类型
$str = '123'.true.'abc';//1231abc string
4. 比较运算符,分几种情况
①两个数字比较–正常情况
②其中有一个数据是布尔型的,则都转成布尔型进行比较 true>false
③数据中没有布尔型的,但其中有一个数据是数字,则转成数字 比较
④两边都是数字字符串,转成数字来比较
⑤比较运算符中两边都是字符串类型,从首个字符开始依次比较ASCII值,哪个大就停止后续比较。
一些转换规则:
“12” –> 12
“1.2” –> 1.2
“1.2a”- –> 1.2
“a1.2” —> 0
“1.1a1” —> 1.1
“0” —> false
“1” —> true
0 —> false
“0.0” —> true
“abc” —> 0
“” —> 0
“” – >false
header("content-type:text/html;charset=utf-8");
$name = "tom";
if($name)
{
echo'$name为真'.'
';
}else
{
echo'$name为假'.'
';
}
//1.在算数运算符中的类型转换 :会转换成数字进行计算$a = "1.1";//"1.1a" 会转换成1.1 , "a1.1"会转换成0$b = "7";
$c = $a + $b ;
echo$c," ",getType($c),'
';//12 double//连接运算符.其结果是字符串类型$a = 5;
$b = true;// true 转换为 1 , false 转换成 0$c = $a.$b ;
echo$c," ",getType($c),'
';//51 string//比较运算符,其结果一定是true或false$a = false ;
$b = 5;
//如果两边至少一个布尔值,则把非布尔值数据转为布尔值比较,其结果类型也是布尔$c = ($a < $b);//这里$b转为true , $c = false < true;echo$c," ",getType($c),'
';//1 boolean//比较运算符中,两边不存在布尔类型但存在数字,则都转为数字类型比较$a = 5 ;
$b = "abc";//$b 要转为数字比较,这里为0 $c = ($a > $b);
echo$c," ",getType($c),'
';//1 boolean//比较运算符中两边都是字符串类型$a = "abc" ;
$b = "abd";
$c = ($a < $b);//从首个字符开始依次比较ASCII值,哪个大就停止后续比较echo$c," ",getType($c),'
';//1 boolean
2.强制转换
$a = 11.5;
$b = (int)$a;//强制转换成int赋值给$becho$a." 类型:".getType($a).'
';//11.5 类型:doubleecho$b." 类型:".getType($b).'
';//11.5 类型:double$c = (string)$a;
echo$c." 类型:".getType($c).'
';//11.5 类型:11.5 类型:string$d = (boolean)$a;
echo$d." 类型:".getType($d).'
';//1 类型:boolean$e = (float)$b;//强制转换成浮点数echo$e." 类型:".getType($e).'
';//11 类型:doublesetType($c,"float");
echo$c." 类型:".getType($c).'
';//11.5 类型:double
3.与类型相关的函数
以上就介绍了php之类型转换,包括了php方面的内容,希望对PHP教程有兴趣的朋友有所帮助。