• 技术文章 >后端开发 >PHP问题

    php转换数字类型有哪些?

    coldplay.xixicoldplay.xixi2020-07-10 10:00:25原创1507

    php转换数字类型有:1、自动类型转换,字符串转换为数字,整型转换为浮点数,浮点数转换为整型舍去小数点,null值转换为字符串;2、强类型转换,【intval()】转换为整型,【floatval()】转换为浮点数。

    php转换数字类型有:

    PHP属于弱类型语言,不像java,C++等语言是强类型语言,区别在于,弱类型的语言是自动转换数
    据类型,强类型语言必须手动声明类型。

    1)自动类型转换,五种数据类型,标量中的四个类型和null都可以通过运算自动转换类型。
    布尔值参与运算

    true ---> 1 false ---> 0
    //bool to int
    var_dump(true + 1);//2 true->1
    var_dump(false + 1);//1 false->0
    var_dump(null + 1);// 1 null-> 0
    echo '<hr/>';
    // bool to float
    var_dump(true + 1.0);// float 2
    var_dump(false + 1.0);// float 1 var_dump(null + 1.0);// float 1
    echo '<hr/>';
    //string to int
    var_dump('123' + 1);//124 '123'->123
    var_dump('abc123' + 1);//1 'abc123'->0
    var_dump('123abcdefggggggggggg;8000' + 1);//124
    var_dump('a123' + 1);//1
    var_dump('1a123' + 1);//2
    //php7.0版本所有进制都不转
    var_dump('077abc'+1);// 78 077->77 八进制不转换
    var_dump('0b11abc'+1);//1 //0b 不转换
    var_dump('0xffhsahahhahah'+1);//1 0x不转换
    //php 5.6以下都会转换为 0xff->255
    echo '<hr/>';
    //string to float
    var_dump('1.234abcdef'+ 1.0);//2.234
    var_dump('1.234E3'+1.0);//1235
    var_dump('1e5'+1.0);//2 100001
    var_dump('1E-5'+1.0);//1.00001

    2)强类型转换

    使用括号加目标类型进行转换

    (int)(integer)
     (bool)(boolean)
     (float)(real)
      (string)
      (array)
      (object)

    使用类型转换函数

    settype() 永久转换类型的函数(重点)

    第一个参数 你要改变类型的变量
    第二个参数 你要改变的类型名
    intval() 转换为整型
    floatval() 转换为浮点数
    strval() 转换为字符串

    <?php
      $a = 1;
      var_dump($a);
      var_dump((int)$a);
      var_dump((integer)$a);
      var_dump((bool)$a);
      var_dump((float)$a);
      var_dump((real)$a);
      var_dump((string)$a);
     var_dump((array)$a);
     var_dump((object)$a);
     var_dump($a);
     var_dump($a);
     var_dump($a);
     var_dump($a);
     var_dump($a);
     echo '<hr/>';
     $b = 100;
     var_dump($b);
     //下面函数是永久有效的类型转换
     settype($b,'string');
     var_dump($b);
     var_dump($b);
     var_dump($b);
     var_dump($b);
     var_dump($b);
     var_dump($b);
     echo '<hr/>';
    //下⾯的函数也是当次有效 和最开始的强制类型转换一样 只不过语法不同而已
     $m = 200;
     var_dump(intval($m));
     var_dump(floatval($m));
    var_dump(strval($m));
     var_dump($m);
     var_dump($m);
     var_dump($m);

    相关学习推荐:PHP编程从入门到精通

    以上就是php转换数字类型有哪些?的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:php 数字类型
    上一篇:php获取不到post怎么办 下一篇:出现PHP段错误怎么办
    千万级数据并发解决方案

    相关文章推荐

    • php数字类型之字符串类型详解• 数字类型问题• php递归 格式化 数字类型• php判断是否是数字类型
    1/1

    PHP中文网