强制转换
方法一
在要转换的变量之前加上用括号括起来的目标类型,可实现强制转换。
- (int), (integer) – 转换成整型
- (bool), (boolean) – 转换成布尔型
- (float), (double), (real) – 转换成浮点型
- (string) – 转换成字符串
- (array) – 转换成数组
- (object) – 转换成对象
$a = "hello"; var_dump( (int)$a ); // 0 $a = "5478hello"; var_dump( (int)$a ); // 5478
方法二
用函数进行强制转换
intval() | 强制转化成 int 型 |
floatval() | 强制转化成 float 型 |
strval() | 强制转化成 string 型 |
相关函数
var_dump() | 打印数据类型和值 |
getType() | 获取变量的类型 |
setType() | 设置变量的类型 |
例子
$int = 10; echo getType( $int ); // Integer $a = 10.0; echo getType( $a ); // double setType( $int, "double" ); echo getType( $int ); // double $c = (string) $int; echo getType( $int ); // Integer echo getType( $c ); // string echo getType( strval($int) ); // string
自动转换
PHP小类型自动往大类型转换。
没有数字开头的字符串,转换到int
类型时,转为0;
有数字开头的字符串,转换到int
类型时,转为开头的数字(只能是开头的数字)。
$a = true; $b = 21; $c = $a + $b; var_dump($c); // 22 $a = "hello"; $b = 100; $c = $a + $b; var_dump($c); // 100 $a = "123hello"; $b = 100; $c = $a + $b; var_dump($c); // 223 $a = "1aa23hello"; $b = 100; $c = $a + $b; var_dump($c); // 101 // 中间有空格 $a = "1 23hello"; $b = 100; $c = $a + $b; var_dump($c); // 223 // 科学记数法 1e23 = 456x10^3 $a = "456e3hello"; $b = 100; $c = $a + $b; var_dump($c); // 456100
相关函数
is_bool() is_int() / is_integer() / is_long() is_float() / is_double / is_real() is_string() is_array() is_object() | 判断是否是对象 is_resource() | 判断是否是资源类型 is_null() is_scalar() | 判断是否是标量 is_numberic() | 判断是否是任何类型的数字或数字字符串 判断字符串中是否有数字 is_caliable() | 判断是否是有效的函数名
本文由 猫斯基 原创发布。
著作权均归用户本人所有。独家文章转载,请联系本站管理员。获得授权后,须注明本文地址! 本文地址:https://maosiji.com/php/php-6.html