php开发手册没有的:intval()和(int)转换使用与区别

2018-03-0906:19:00后端程序开发Comments2,059 views字数 1218阅读模式

代码如下:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/1370.html

  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. ?>

手册上查不到。 这也是手册上说的:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/1370.html

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

intval()而言,如果参数是字符串,则返回字符串中第一个不是数字的字符之前的数字串所代表的整数值。如果字符串第一个是‘-',则从第二个开始算起。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/1370.html

如果参数是符点数,则返回他取整之后的值。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/1370.html

当然intval()返回的值在一个4字节所能表示的范围之内 (-2147483648~2147483647),对于超过这个范围的值将用边界值代替。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/1370.html

例:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/1370.html

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

例:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/1370.html

  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文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/1370.html

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

  1. <?php
  2. $str = "10";
  3. $num = (int)$str;?>

如果要检查的代码REALY工程,我们可以使用===运算符。这个操作符检查不仅值,但类型以及。这样的代码看起来应该是这样的: 代码如下:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/1370.html

  1. <?php
  2. $str = "10";
  3. $num = (int)$str;
  4. if ($str === 10) echo "String";
  5. if ($num === 10) echo "Integer";
  6. ?>

还有一个问题是开放的。如果我们的字符串是不是一个单纯的数字的字符串,会发生什么。我的意思是有其他字符串中的字符。在这种情况下,转换操作尝试最好的和可以转换的字符串,如果只有空间是有,如果没有有效的字符后的数字值。它的工作原理如下:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/1370.html

  1. “10” - > 10
  2. “10.5” - > 10
  3. “10,5” - > 10
  4. “10” - > 10
  5. “10” - > 10
  6. “10test” - > 10
  7. “test10” - > 0
文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/1370.html
  • 本站内容整理自互联网,仅提供信息存储空间服务,以方便学习之用。如对文章、图片、字体等版权有疑问,请在下方留言,管理员看到后,将第一时间进行处理。
  • 转载请务必保留本文链接:https://www.cainiaoxueyuan.com/bc/1370.html

Comment

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定