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

转载 2018年01月10日 00:00:00

0?wx_fmt=gif&wxfrom=5&wx_lazy=1

代码如下:

  1. <?php

  2. echo "<br/>数值强制转换:";

  3. $string="2a";

  4. $string1=intval($string);

  5. echo '$string1的值:'.$string1.'$string2的值:';//单引号不会输出变量,将原样输出

  6. $string2=(int)($string);

  7. echo $string2

  8. ?>

手册上查不到。 这也是手册上说的:

引用: int intval ( mixed $var [, int $base ] ) 通过使用特定的进制转换(默认是十进制),返回变量 var 的 integer 数值。 如果只有这点区别的话,那么我喜欢用(int)处理10进制的情况是不错的选择吧? 没啥区别,一般用(int),另外还有 float, string, array 等

intval()而言,如果参数是字符串,则返回字符串中第一个不是数字的字符之前的数字串所代表的整数值。如果字符串第一个是‘-',则从第二个开始算起。

如果参数是符点数,则返回他取整之后的值。

当然intval()返回的值在一个4字节所能表示的范围之内 (-2147483648~2147483647,对于超过这个范围的值将用边界值代替。

例:

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

  2. int();

例:

  1. $a=0.13;

  2. $b=(int)$a; //$b=0;

  3. $a=0.99;

  4. $b=(int)$a; //$b=0;

  5. $a=1.01;

  6. $b=(int)$a; //$b=1;

  7. $a=1.99;

  8. $b=(int)$a; //$b=1;

PHP字符串转换为int

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

  1. <?php

  2. $str = "10";

  3. $num = (int)$str;?>

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

  1. <?php

  2. $str = "10";

  3. $num = (int)$str;

  4. if ($str === 10) echo "String";

  5. if ($num === 10) echo "Integer";

  6. ?>

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

  1. 10 - > 10

  2. 10.5 - > 10

  3. 10,5 - > 10

  4. 10 - > 10

  5. 10 - > 10

  6. 10test - > 10

  7. test10 - > 0

0?wx_fmt=png


PHP intval() 和 (int) 转换的区别

1、intval & (int) 都不可以转换 Object。 2、转换效率 (int) > intval() > sprintf (intval 是PHP内置的方法,效率相对低)。 3、其他完全...
  • HAOWENQI008
  • HAOWENQI008
  • 2017年03月17日 14:36
  • 2285

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

想知道使用intval()和(int)转换有什么区别?或者说两者有什么不同,包括功能、定义方面的。或者和使用频率、效率等。 复制代码 代码如下: echo "数值强制转换:";  $...
  • wide288
  • wide288
  • 2014年03月03日 15:39
  • 4806

关于php中intval在32和64位的问题

php的int行在32位的系统上是4Byte,在64位上是8Byte,导致在超过4Byte的整数,在32和64返回的结果不同,现在写一个统一的函数,统一用32位的算法 function in...
  • qiushi888
  • qiushi888
  • 2013年03月25日 21:18
  • 1716

php关于数字防注入,intval溢出,intval

php关于数字防注入,intval溢出,intval 不同位数的操作系统表现的最大值不同 数字防注入方法 1.强制转换类型,intval(num),(int)num(mu...
  • u010412301
  • u010412301
  • 2017年02月13日 12:34
  • 1158

PHP与JS---取整数方法int,celi,floor,round

PHP与JS---取整数方法int,celi,floor,round 1.丢弃小数部分,保留整数部分php: intval(7/2)js:parseInt(7/2)2.向上取整,有小数就整数部分加1p...
  • vancekq
  • vancekq
  • 2010年01月07日 14:38
  • 2285

php intval()函数

定义和用法: 获取变量的整数值,允许以使用特定的进制返回。默认10进制 注:如果参数为整数,则不做任何处理。 语法: intval (var, base) 参数列表: 参数 描述...
  • tashanhongye
  • tashanhongye
  • 2015年10月30日 12:37
  • 17913

intval()和int()

int intval ( mixed $var [, int $base ] )    通过使用特定的进制转换(默认是十进制),参数base表示进制,只有当var是字符串时,base才会有意义,表示按...
  • zhanghao143lina
  • zhanghao143lina
  • 2017年06月13日 08:58
  • 162

php intval 两位小数乘以100后结果少1

因为工作需要,价格处理的时候往往是两位小数需要换算成分,如:16.33元换算为1633分,直接乘以100也就行了的,但是又使用了一个转换为整数类型的函数intval() 这下子结果就不对了,如图: ...
  • leedaning
  • leedaning
  • 2016年09月09日 11:42
  • 3054

php数据入库前清理 注意php intval与mysql int 类型区别

php保存数据到mysql  打算在dao层进行数据入库前的清理,比如varchar进行trim,int进行intval。  有一天突然想起,php intval的取值范围与mysql的int类型...
  • ufojoan
  • ufojoan
  • 2013年11月11日 11:43
  • 935

PHP中(int)与intval()的区别

(int) 和 intval() 都能实现类型转换,都是返回整型数值 intval()函数,能将2323test返回2323; (int)是类型转换的正常方法...
  • u013115068
  • u013115068
  • 2014年03月11日 13:39
  • 452
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:php下intval()和(int)转换使用与区别
举报原因:
原因补充:

(最多只允许输入30个字)