Code前端首页关于Code前端联系我们

PHP开发手册中未包含的内容:intval()与(int)转换的用法及区别

terry 2年前 (2023-09-25) 阅读数 50 #后端开发

代码如下:

在手册中找不到它。这也是手册上说的:

摘录:int intval ( mix $var [, int $base ] ) 使用特定基数转换返回变量 var 的整数值(默认为十进制) 。如果只有这个区别,我喜欢用(int)来处理小数的情况。这是一个好的选择吗?没有区别。一般使用(int)。除此之外还有float、string、array 等。

intval()。如果参数是字符串,则会在字符串中第一个非数字字符之前返回。整数值由数字字符串表示。如果字符串中第一个字符是“-”,则从第二个字符开始计数。

如果参数是点数,则返回四舍五入后的值。

当然,intval()返回的值是在4字节(-2147483648~2147483647)可以表示的范围内。超出此范围的值将被限制值替换。

示例:

  1. intval("A")=0;整数值(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格式的变量值很重要。例如,如果访问者填写了带有年龄字段的表单,则该字段应该是 int。但是,在 $_POST 数组中,您将其作为字符串获取。将 PHP 字符串转换为 int 很容易。我们需要在转换之前使用变量类型。所以你应该使用(INT)。下面是如何执行此操作的示例: 代码如下:

If你想检查代码是否真的有效,我们可以使用 === 运算符。该操作员不仅检查价格,还检查类型。代码应该是这样的: 代码如下:

还有一个悬而未决的问题。如果我们的字符串不仅仅是一串数字,会发生什么。我的意思是字符串中还有其他字符。在这种情况下,转换操作会尽最大努力,如果只有空格并且数值后面没有有效字符,则可以转换字符串。它的工作原理如下:

  1. "10" -> 10
  2. "10.5" -> 10
  3. "10.5" -> 10
  4. "10" -> 10
  5. "10" -> 10
  6. “10 次测试”-> 10
  7. “测试 10”-> 0

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

热门