php转换数字类型有:1、自动类型转换,字符串转换为数字,整型转换为浮点数,浮点数转换为整型舍去小数点,null值转换为字符串;2、强类型转换,【intval()】转换为整型,【floatval()】转换为浮点数。
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 '<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中文网其他相关文章!