PHP 数据类型 - 自动转换
2020-04-24 本文已影响0人
887d1fc86fe6
- 我们无需做任何处理,而是,(程序会根据运算时运算符所需要的数据类型进行转换。
- 如果参与运算的数据不是需要的类型,则会自动转换为需要的数据类型。
- 转换为数字:
规律:一个字符串当做数字,就会将该字符串的最前面的数字转换为数字值,如果没有,就为0
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<?php
echo 1 + true; // 2, true 转为数字为 1
echo 1 + false; // 1, false 转为数字为 0
echo 1 + '3'; // 4
echo 1 . '3'; // '13'
echo '1' + '2'; // 3
echo 1 + '2abc'; // 3, 后面的字符都会在计算的过程中被省略掉
echo 1 + '2abc34'; // 3
echo 1 + 'abc'; // 1
echo 1 + 'abc2'; // 1
echo 1.2 + '2'; // 3.2
echo 1.2 + '2.2abc'; // 3.4
echo 1.2 + 'abc2.2'; // 1.2
echo '1.2abc' + 2; // 3.2
echo '1.2abc' + '2abc'; // 3.2
?>
</body>
</html>
- 转换为整数(直接保留整数部分):
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<?php
echo 10.8 % 3.6; // 1
echo '10.8 ' % '3.6'; // 1
echo '10.8 ' % '3.6abc'; // 1
echo '10.8abc ' % '3.6abc'; // 1
?>
</body>
</html>
- 强制转换
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<?php
// 人为使用强转换语法进行转换,比如:
$v1= (int)'1'; // 结果: $v1 是整数类型的1
$v2= (float)'1.23'; // 结果: $v2 是浮点类型的1.23
$v3 = (string)$v1; // 结果: $v3是字符串'1'
?>
</body>
</html>