zoukankan      html  css  js  c++  java
  • 数据类型转换

    一、自动转换(隐式转换)

      1、其他类型转换成数值型

        ①boolean --->  转换成数值型(整型、浮点型)

          true -> 1  false -> 0

          $a=1;

          $b=false;

          echo $a+$b;  //1

          $a=1;

          $b=true;

          echo $a+$b;  //2

        ②string  -->  转换成数值型

          不是合法数字开头的字符串会转换成0,如:

            "true" -> 0  "false" -> 0

          $str="10.1";

          $int=2.1;

          echo $str+$int;  //12.2

          $str="2e3";

          $int=1;

          echo $str+$int;  //2001

          $str="abcd";

          $int=1;

          echo $str+$int;  //1

          $str="1abcd";

          $int=1;

          echo $str+$int;  //2

          $str="12a3b4c5";

          $int=1;

          echo $str+$int;  //13

          $str="12.1a3b4c5";

          $int=1;

          echo $str+$int;  //13.1

          $str="3E2ab3";

          $int=1;

          echo $str+$int;  //301

        1.数值类型的字符串转换成数值类型本身

        2.当字符串中以合法数字开头的时候,一直取到你第一个非法数字之前

          "123abcd" -> 123

          "2e3b34" -> 2e3(2000)

          "2E3b4e5" -> 2E3(2000)

          $a=1;

          $b="true";  //加双引号则为非法数字开头的字符串,去掉引号则为布尔型

          echo $a+$b;  //1

        3.空字符串转换成数值类型

          '' -> 0  "" -> 0  null -> 0

      2、其他类型转换成字符串型

        数值型 -> 值为数值本身的字符串

        布尔类型

          true -> 1

          false -> 空字符串

        数组 -> Array

        对象 -> 不能转换成字符串

        资源 -> Resource #id 数字

        空 -> 空字符串

      3、其他类型转换成布尔型

        转换成布尔型的false:

          0 -> false  0.0 -> false  false -> false

          ''  ""  '0'  "0" -> false

          空array() -> false  null -> false

        其他时候都是true

          "  " -> true  "false"->true  "0.0"->true

    二、强制转换(显示转换)

      (int) (integer) -> 强制转换成整型

      (float) (double) (real) -> 强制转换成浮点类型

      (string) -> 强制转换成字符串类型

      (bool) (boolean) -> 强制转换成布尔类型

      (array) -> 强制转换成数组

      (object) -> 强制转换成对象

    三、永久转换

      settype($var ,type):设置变量的类型

        type的值可为:

          "boolean"  (或为"bool",PHP4.2.0起)

          "integer"  (或为"int",PHP4.2.0起)

          "float"  (PHP4.2.0之后可用,旧版中使用"double")

          "string"

          "array"

          "object"

          "null"  (PHP4.2.0起)

  • 相关阅读:
    P1456 Monkey King
    P3377 【模板】左偏树(可并堆)
    P1074 靶形数独
    P1120 小木棍
    P5490 【模板】扫描线
    糖糖别胡说,我真的不是签到题目
    最长公共子序列
    最长上升子序列
    数的三次方根
    地、颜色、魔法(dfs)
  • 原文地址:https://www.cnblogs.com/zhouwanqiu/p/9014441.html
Copyright © 2011-2022 走看看