我正在使用PHP和filter_input
函数来过滤GET
个变量并对其进行验证:
$id = filter_input(INPUT_GET, "id", FILTER_VALIDATE_INT);
但是当URL中没有id参数时,上面的语句会使$id
为NULL。
我希望$id
成为false
时:
$_GET["id"]
不存在。这样,当我想检查$id
一般是否有效时,我只会将其与false
进行比较。 有没有办法验证输入变量并使用一个语句检查其存在?我认为在上述条件下制作$id
NULL
会更好,所以没有问题使用布尔输入。
目前我正在使用上述语句和以下if
块:
if ($id !== false && $id !== NULL) {
// statements to run when $id is valid and present
}
答案 0 :(得分:2)
转过来:filter_input
将返回int
或两个可能的 falsey 值中的一个。要测试它是否因任何原因失败,或者您有int
,请查看您是否获得int
:
if (is_int($id)) ...
false
和null
之间的区别可以让您辨别出如果您愿意,到底出了什么问题。