首页 > 后端开发 > PHP问题 > php转换数字类型有哪些?

php转换数字类型有哪些?

coldplay.xixi
发布: 2023-03-02 09:08:01
原创
3336 人浏览过

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

php转换数字类型有哪些?

php转换数字类型有:

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

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

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 &#39;<hr/>&#39;;
// 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 &#39;<hr/>&#39;;
//string to int
var_dump(&#39;123&#39; + 1);//124 &#39;123&#39;->123
var_dump(&#39;abc123&#39; + 1);//1 &#39;abc123&#39;->0
var_dump(&#39;123abcdefggggggggggg;8000&#39; + 1);//124
var_dump(&#39;a123&#39; + 1);//1
var_dump(&#39;1a123&#39; + 1);//2
//php7.0版本所有进制都不转
var_dump(&#39;077abc&#39;+1);// 78 077->77 八进制不转换
var_dump(&#39;0b11abc&#39;+1);//1 //0b 不转换
var_dump(&#39;0xffhsahahhahah&#39;+1);//1 0x不转换
//php 5.6以下都会转换为 0xff->255
echo &#39;<hr/>&#39;;
//string to float
var_dump(&#39;1.234abcdef&#39;+ 1.0);//2.234
var_dump(&#39;1.234E3&#39;+1.0);//1235
var_dump(&#39;1e5&#39;+1.0);//2 100001
var_dump(&#39;1E-5&#39;+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 &#39;<hr/>&#39;;
 $b = 100;
 var_dump($b);
 //下面函数是永久有效的类型转换
 settype($b,&#39;string&#39;);
 var_dump($b);
 var_dump($b);
 var_dump($b);
 var_dump($b);
 var_dump($b);
 var_dump($b);
 echo &#39;<hr/>&#39;;
//下⾯的函数也是当次有效 和最开始的强制类型转换一样 只不过语法不同而已
 $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中文网其他相关文章!

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板