强制转换方法:1、在要转换的变量前加上用括号括起来的目标类型“(int)”、“(bool)”、“(float)”等,会将其转为相应的类型;2、用类型转换函数“intval(变量)”、“floatval(变量)”、“strval(变量)”等。
本教程操作环境:windows7系统、PHP7.1版、DELL G3电脑
数据类型转换是指将变量或值从一种数据类型转换成其他数据类型。转换的方法有两种,分别是自动类型转换和强制类型转换。
PHP 中的强制类型转换和有两种方式:
可以在要转换的变量之前加上用括号括起来的目标类型(例如
$var = (int)3.1415;
),可以使用具体的类型转换函数(例如 intval()、floatval()、strval() 等)或者 settype() 来转换类型。
1、在要转换的变量之前加上用括号括起来的目标类型
括号中允许使用的变量类型如下所示:
(int)、(integer):转换成整型;
(bool)、(boolean):转换成布尔类型;
(float)、(double)、(real):转换成浮点类型;
(string):转换成字符串类型;
(array):转换成数组类型;
(object):转换成对象类型。
示例:
<?PHP header('content-type:text/html;charset=utf-8'); $str = '123.456abc'; echo '原变量 $str 的类型为:'.gettype($str).<br>; $int = (int)$str; echo '变量 $int 的类型为:' . gettype($int) . '<br>'; $float = (float)$str; echo '变量 $float 的类型为:' . gettype($float) . '<br>'; $bool = (bool)$str; echo '变量 $bool 的类型为:' . gettype($bool). '<br>'; $arr = (array)$str; echo '变量 $arr 的类型为:' . gettype($arr); ?>
2、使用具体的类型转换函数
示例1:
<?PHP header('content-type:text/html;charset=utf-8'); $str = '123.456abc'; echo '原变量 $str 的类型为:'.gettype($str).<br>; $int = intval($str); echo '变量 $int 的类型为:'.gettype($int).'<br>'; $float = floatval($str); echo '变量 $float 的类型为:'.gettype($float).'<br>'; $bool = boolval($str); echo '变量 $bool 的类型为:'.gettype($bool); ?>
示例2:
<?PHP header('content-type:text/html;charset=utf-8'); $str = '123.456abc'; echo '原变量的类型为:'.gettype($str).<br>; settype($str, 'integer'); echo '变量类型变为:'.gettype($str).'<br>'; settype($str, 'boolean'); echo '变量类型变为:'.gettype($str).'<br>'; settype($str, 'null'); echo '变量类型变为:'.gettype($str); ?>
说明:settype()函数会改变原变量本身;其设置成功时返回 TRUE, 失败时返回 FALSE。
推荐学习:《PHP教程》