前言
本文已收录于PHP全栈系列专栏:PHP快速入门与实战
一、关于类型转换
PHP的类型转换是指将一个变量类型转换为另一个变量类型的过程。 PHP支持自动类型转换和显式类型转换两种方式:
1.1 自动类型转换
PHP会自动根据需要将一个变量的类型转换为另一种类型。比如,当一个布尔值与一个整数相加时,布尔值会被转换成整数。在不同的运算中,PHP自动进行的类型转换有:
- 数字转换:将字符串转换为数字,例如intval()函数;
- 布尔转换:将其他类型转换为布尔类型,例如empty()函数;
- 字符串转换:将其他类型转换为字符串,例如strval()函数;
- 数组转换:将其他类型转换为数组,例如array()函数。
下面是自动类型转化的实例:
$num1 = "10";
$num2 = 5;
$sum = $num1 + $num2;
echo $sum; // 输出结果为15,$num1被自动转换为整型
1.2 显式类型转换
显式类型转换指使用特定的函数或操作符来明确地改变变量的类型。下面是PHP中常用的显式类型转换操作:
- (int) 或 intval():将一个变量转换为整数类型;
- (float) 或 floatval():将一个变量转换为浮点数类型;
- (string) 或 strval():将一个变量转换为字符串类型;
- (bool) 或 boolval():将一个变量转换为布尔类型;
- (array):将一个变量转换为数组类型;
- (object):将一个变量转换为对象类型。
下面是显式类型转换的实例:
// 将字符串转换为整型
$str_num = "10";
$num = intval($str_num);
echo $num; // 输出结果为10
// 将浮点型转换为字符串
$float_num = 3.14;
$str = strval($float_num);
echo $str; // 输出结果为"3.14"
// 将布尔型转换为整型
$bool_val = true;
$num = intval($bool_val);
echo $num; // 输出结果为1
// 将整型转换为布尔型
$num = 0;
$bool_val = boolval($num);
echo $bool_val; // 输出结果为false
二、15个常用类型转化示例
2.1 将字符串转换为整型
$str_num = "10";
$num = intval($str_num);
2.2 将整型转换为字符串
$num = 10;
$str_num = strval($num);
2.3 将浮点型转换为整型
$float_num = 3.14;
$num = intval($float_num);
2.4 将整型转换为浮点型
$num = 10;
$float_num = floatval($num);
2.5 将布尔型转换为整型
$bool_val = true;
$num = intval($bool_val);
2.6 将整型转换为布尔型
$num = 0;
$bool_val = boolval($num);
2.7 将字符串转换为浮点型
$str_num = "3.14";
$float_num = floatval($str_num);
2.8 将浮点型转换为字符串
$float_num = 3.14;
$str_num = strval($float_num);
2.9 将数字字符串转换为浮点型
$str_num = "3.14";
$float_num = (float)$str_num;
2.10 将数字字符串转换为整型
$str_num = "10";
$num = (int)$str_num;
2.11 将布尔型转换为字符串
$bool_val = false;
$str_bool = ($bool_val) ? "true" : "false";
2.12 将数组转换为字符串
$arr = array("a", "b", "c");
$str_arr = implode(",", $arr);
2.13 将字符串转换为数组
$str_arr = "a,b,c";
$arr = explode(",", $str_arr);
2.14 将对象转换为数组
class Person {
public $name = "Tom";
public $age = 20;
}
$person = new Person();
$arr = (array)$person;
2.15 将数组转换为JSON
$arr = array("name" => "Tom", "age" => 20);
$json_str = json_encode($arr);
总结
以上就是关于本篇文章介绍的内容,PHP类型转换,后续更多内容将收录在专栏PHP快速入门与实战中,感谢大家支持。