首页  >  文章  >  后端开发  >  php下intval()和(int)转换使用与区别

php下intval()和(int)转换使用与区别

不言
不言原创
2018-06-06 11:19:012994浏览

这篇文章主要介绍了关于php下intval()和(int)转换使用与区别,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下

想知道使用intval()和(int)转换有什么区别?或者说两者有什么不同,包括功能、定义方面的。或者和使用频率、效率等。

复制代码 代码如下:

<?php 
echo "<br/>数值强制转换:"; 
$string="2a"; 
$string1=intval($string); 
echo &#39;$string1的值:&#39;.$string1.&#39;$string2的值:&#39;;//单引号不会输出变量,将原样输出 
$string2=(int)($string); 
echo $string2 
?>

手册上查不到。
这也是手册上说的:引用:
int intval ( mixed $var [, int $base ] )
通过使用特定的进制转换(默认是十进制),返回变量 var 的 integer 数值。 如果只有这点区别的话,那么我喜欢用(int)处理10进制的情况是不错的选择吧?
没啥区别,一般用(int),另外还有 float, string, array 等
intval()而言,如果参数是字符串,则返回字符串中第一个不是数字的字符之前的数字串所代表的整数值。如果字符串第一个是‘-',则从第二个开始算起。
如果参数是符点数,则返回他取整之后的值。
当然intval()返回的值在一个4字节所能表示的范围之内(-2147483648~2147483647),对于超过这个范围的值将用边界值代替。
例:

intval("A")=0; intval(12.3223)=12; intval("1123Asdfka3243")=1123; 
int();

例:

$a=0.13; 
$b=(int)$a; //$b=0; 
$a=0.99; 
$b=(int)$a; //$b=0; 
$a=1.01; 
$b=(int)$a; //$b=1; 
$a=1.99; 
$b=(int)$a; //$b=1;

PHP字符串转换为int
有时,重要的是有一个int格式的变量的值。 eaxmple,如果你的访问者填写表单,随着年龄的领域,这应该是一个int。然而,在$ _POST数组,你把它作为一个字符串。
转换为int的PHP字符串是很容易的。我们需要使用之前,你的变量类型casting.So你需要使用(INT)。下面是一个例子,如何做到这一点:

复制代码 代码如下:

<?php $str = "10"; $num = (int)$str;?>

如果要检查的代码REALY工程,我们可以使用===运算符。这个操作符检查不仅值,但类型以及。这样的代码看起来应该是这样的:

复制代码 代码如下:

<?php 
$str = "10"; 
$num = (int)$str; 
if ($str === 10) echo "String"; 
if ($num === 10) echo "Integer"; 
?>

还有一个问题是开放的。如果我们的字符串是不是一个单纯的数字的字符串,会发生什么。我的意思是有其他字符串中的字符。在这种情况下,转换操作尝试最好的和可以转换的字符串,如果只有空间是有,如果没有有效的字符后的数字值。它的工作原理如下:

“10” - > 10 
“10.5” - > 10 
“10,5” - > 10 
“10” - > 10 
“10” - > 10 
“10test” - > 10 
“test10” - > 0

相关推荐:

php中file_get_contents与curl性能比较分析

以上是php下intval()和(int)转换使用与区别的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn