设为首页收藏本站
查看: 173|回复: 0

php转换数字类型有哪些?-PHP问题

[复制链接]

论坛元老

Rank: 6Rank: 6

积分
34274
主题
17031
UID
1347
M币
67
贡献
17176

  • 发表于 2020-9-11 17:20:00 | 显示全部楼层 |阅读模式
    php转换数字类型有:1、自动类型转换,字符串转换为数字,整型转换为浮点数,浮点数转换为整型舍去小数点,null值转换为字符串;2、强类型转换,【intval()】转换为整型,【floatval()】转换为浮点数。
    布尔值参与运算
    true ---> 1 false ---> 0
  • 字符串和数字运算,字符串先转换为数字在运算。
  • 字符串转换为数字,从前开始到第一个不是数字的字符结束(不符合的内容清空)。
  • 整型转换为浮点数 ,精度不改变。
  • 浮点数转换为整型舍去小数点,保留整数部分。
  • 如果浮点数超出整数范围,答案不确定。
  • null 值转换为字符串,是空字符串。
    //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 ''; // 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 ''; //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 ''; //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.000012)强类型转换
    使用括号加目标类型进行转换
    (int)(integer) (bool)(boolean) (float)(real) (string) (array) (object)使用类型转换函数
    settype() 永久转换类型的函数(重点)
    第一个参数 你要改变类型的变量
    第二个参数 你要改变的类型名
    intval() 转换为整型
    floatval() 转换为浮点数
    strval() 转换为字符串
    '; $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 ''; //下⾯的函数也是当次有效 和最开始的强制类型转换一样 只不过语法不同而已 $m = 200; var_dump(intval($m)); var_dump(floatval($m)); var_dump(strval($m)); var_dump($m); var_dump($m); var_dump($m);相关学习推荐:PHP编程从入门到精通
  • 回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    在我站开通SVIP可同时获得17个站点VIP资源 立即登录 立即注册
    快速回复 返回顶部 返回列表