php语言 百分网手机站

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

时间:2020-08-05 15:01:36 php语言 我要投稿

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

  想知道使用intval()和(int)转换有什么区别?或者说两者有什么不同,包括功能、定义方面的。或者和使用频率、效率等。就跟随百分网小编一起去了解下吧,想了解更多相关信息请持续关注我们应届毕业生考试网!

  代码如下:

  <?php

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

  $string="2a";

  $string1=intval($string);

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

  $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