- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这对我来说听起来很奇怪:
$test_1 = 'string';
$test_2 = '0';
var_dump(intval($test_1)); // Output: int 0
var_dump(intval($test_2)); // Output: int 0
$can_cast = intval($test_2) ? 'sure' : 'nope'; // Wrong!!!
因此,对于 string
到 int
的转换,intval
返回 0。很好,但是当字符串实际上可以转换为零(因为是为零)因此有效时,它也会返回 0。
如何区分两者(允许“0”作为字符串并拒绝“字符串”)?
编辑:好的,让我说我知道我可以使用is_numeric
。 但是 is_numeric('2.3')
返回 true
,所以它无能为力。并且:
$test = '0';
var_dump(is_numeric($test) && intval($test)); // Fail!!!
最佳答案
你可以做一个 ctype_digit
在你投之前检查(如果你只想要正数)。或者,您可以使用 filter_var
进行整数验证和 FILTER_VALIDATE_INT
.整数验证还将检查整数语义,即它将确保整数在允许的范围内。您还可以通过多个选项根据您的需要对其进行自定义。
关于PHP intval() 行为?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8554050/
我通过帖子获得输入值,其中一些可能是ID指的其他内容,而有些则开始于0。在选择具有ID 0的内容或没有值的内容时,是否存在 Intval( ) 在解析失败时返回比 0 更有用的东西?或者我能以某种方式
这对我来说听起来很奇怪: $test_1 = 'string'; $test_2 = '0'; var_dump(intval($test_1)); // Output: int 0 var_dump
这个问题已经有答案了: PHP intval() weird results (5 个回答) 已关闭 8 年前。 在这里,$username是一个用户输入,我正在尝试检查该条目是否是用户名或用户 ID
我正在尝试使用下面的 setInterval 快速循环一系列图像以生成动画。但是,如果我将焦点从浏览器选项卡移开然后再移回来,动画就会闪烁。 我看到了一个关于使用“实时”来捕捉动画的线程,但由于我的线
在 PHP 5 中,每当我将数字作为输入时,我都会使用 intval()。这样,我想确保我没有得到任何字符串或 float 。我输入的数字应该都是整数。但是当我得到数字 >= 2147483647 时
由于 PHP 中的 float 数据类型不准确,并且 MySQL 中的 FLOAT 比 INT 占用更多空间(并且不准确),因此我总是将价格存储为 INT,在存储之前乘以 100,以确保精确到小数点后
假设我有以下字符串: danger13 afno 1 900004 使用 intval() 得到 13,但是,我想获取字符串中的最高整数,即 9000004,我该如何实现? 编辑:字符串有不同的形式,
所以我是新人,所以我不是很好。很抱歉我的英语不好,但我可以帮助你! 这是我的代码 $sql = "INSERT INTO bestellung (userID, name, email, item,
"; echo floatval(substr($Content, 16, 25)).""; echo substr($Content, 27, 37).""; ?> 为什么这段代码返回 71.056
有什么区别: (int) '1'; 和: intval('1'); ? 最佳答案 intval() 接受 second argument ($base) 而 (int) 没有。 int intval(
is_numeric、intval、ctype__digit..你可以信赖它们吗? 还是我必须使用正则表达式? function isNum($str) { return (preg_matc
User: 你能从上面的代码中看出什么威胁吗?我必须对我输出的所有内容使用 htmlspecialchars 吗?我应该使用 is_numeric 还是 intval 来检查获取的是数字? 我只是在
亲爱的大家。 我在 mysql 数据库的某些表中使用整数主键。在从 PHP 脚本输入之前,我正在做一些清理,其中包括 intval($id) 和 $mysqli->real_escape_string
String conversion to numbers 上的 PHP 手册说: The value is given by the initial portion of the string. If
这个问题在这里已经有了答案: Is there any particular difference between intval and casting to int - `(int) X`? (7
背景、概述 早在Sql注入横行的前几年,字符串转化为整数就已经被列为每个web程序必备的操作了。web程序将get或post来的id、整数等值强制经过转化函数转化为整数,过滤掉危险字
我制作了一个小脚本,它从文本文件中给出了一些数据。为了刷新数据,我尝试使用 intvall 并重新加载页面。 setInterval(page_refresh
我想确保在 MySQL 查询中使用 int 值之前已清理并验证该值。 这个项目不使用准备好的语句,因为我意识到这是最好的选择,所以我特别询问关于转换 int、intval() 和 filter_inp
我正在做过滤器脚本。用户写入age_to,我得到最大年龄的用户。问题是我的用户表中只有完整的出生日期。如何获取所有数据?我认为 intval 函数很好,但我不知道如何在 mysql 查询中使用它。 $
intval() = 0 上是否为 NULL 值? $value = NULL $value2 = intval($value) // will be 0? 这是正确的,请让我知道吗? 最佳答案 是的
我是一名优秀的程序员,十分优秀!