类型转换分类
- 自由转换:改变值类型就相应的转换
- 强制转换:把原来的值转换成一个新的值
强制转换第一种使用 (类型)
- int转换为string
<?php
$a = 100;
$b = (string)$a;
echo getType($b).'<br/>';
?>
打印出的类型就为string
- string 转换为 int
· 转换时,只转换字符串开头的数字,如果字符串不是以数组开头或者数字在字符串中间或者在结尾都会被转换为0,
转换为 float为也是同样的道理
$a1 = '2008北京奥运会';
$a2 = '欢迎来到2008北京奥运会';
$a3 = '北京奥运会年份是2008';
$b1 = (int)$a1;
$b2 = (int)$a2;
$b3 = (int)$a3;
echo $b1." :类型为 :".getType($b1).'<br/>';
echo $b2." :类型为 :".getType($b2).'<br/>';
echo $b3." :类型为 :".getType($b3).'<br/>';
$c1 = '2643.984元';
$d1 = (int)$c1;
$d2 = (float)$c1;
echo $d1." :类型为 :".getType($d1).'<br/>';
echo $d2." :类型为 :".getType($d2).'<br/>';
程序运行的结果为:
强制转换 第二种 settype() 方法
- 使用settype($要转换的变量名,'类型名')
$e1 = '2019年';
echo $e1." :之前的类型为 :".getType($e1).'<br/>';
// 转换成int类型
settype($e1,'int');
echo $e1." :转换后的类型为 :".getType($e1).'<br/>';

强制转换 第三种 使用具体的转换函数
- intval() 转换成int 、 floatval() 转换为浮点型、strval() 转换为字符串型
- 注意只针对 标量类型 int float string bool,并且对象和数组类型不支持
$f1 = '2020';
$g1 = intval($f1);
echo $g1." :类型为 :".getType($g1).'<br/>';
结果为:2020 :类型为 :integer