PHP 数据类型 - 自动转换

148 阅读1分钟
  • 我们无需做任何处理,而是,(程序会根据运算时运算符所需要的数据类型进行转换。
  • 如果参与运算的数据不是需要的类型,则会自动转换为需要的数据类型。

  • 转换为数字: 规律:一个字符串当做数字,就会将该字符串的最前面的数字转换为数字值,如果没有,就为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>