要在PHP中验证和需要的筛选输入
我正在使用PHP和要在PHP中验证和需要的筛选输入,php,validation,input,Php,Validation,Input,我正在使用PHP和filter\u input函数来过滤GET变量并验证它们: $id = filter_input(INPUT_GET, "id", FILTER_VALIDATE_INT); 但是当id参数不在URL中时,上述语句将使$id为NULL 我希望$id在以下情况下为false: 它不是有效的整数或整数 $\u GET[“id”]不存在 这样,当我想检查$id是否通常有效时,我只将其与false进行比较有没有一种方法可以验证输入变量并用一条语句检查它的存在?我认为在上述条件下
filter\u input
函数来过滤GET
变量并验证它们:
$id = filter_input(INPUT_GET, "id", FILTER_VALIDATE_INT);
但是当id参数不在URL中时,上述语句将使$id
为NULL
我希望$id
在以下情况下为false
:
- 它不是有效的整数或整数
不存在$\u GET[“id”]
$id
是否通常有效时,我只将其与false
进行比较有没有一种方法可以验证输入变量并用一条语句检查它的存在?我认为在上述条件下最好将$id
设为NULL
,因此布尔输入没有问题
目前我正在使用上述语句和以下if
块:
if ($id !== false && $id !== NULL) {
// statements to run when $id is valid and present
}
反过来:
filter\u input
将返回一个int
或两个可能的错误值之一。要测试它是否因任何原因失败或您是否获得了int
,请参阅您是否获得了int
:
if (is_int($id)) ...
false
和null
之间的区别进一步让您可以根据自己的意愿判断到底出了什么问题。扭转局面:filter\u input
将返回一个int
或两个可能的假值之一。要测试它是否因任何原因失败或您是否获得了int
,请参阅您是否获得了int
:
if (is_int($id)) ...
false
和null
之间的区别进一步让您可以根据自己的意愿判断到底出了什么问题。零也是无效ID吗?@Scopey是的,可能是。我想要一个解决这个问题的通用方法。请考虑其他基本数据类型(字符串、布尔、浮点)。<代码> ISSET/<代码>为<代码> null 值返回false。但这不包括$id==false
的情况。您可以尝试is_int($id)
,因为这应该涵盖所有有效的情况,包括零。@Scopey很棒。我认为这也适用于具有类似函数的其他数据类型+1@deceze你甚至有一篇关于isset
用法的博文!很好-很乐意帮忙。零也是无效ID吗?@Scopey是的,可能是。我想要一个解决这个问题的通用方法。请考虑其他基本数据类型(字符串、布尔、浮点)。<代码> ISSET/<代码>为<代码> null 值返回false。但这不包括$id==false
的情况。您可以尝试is_int($id)
,因为这应该涵盖所有有效的情况,包括零。@Scopey很棒。我认为这也适用于具有类似函数的其他数据类型+1@deceze你甚至有一篇关于isset
用法的博文!都很好-很高兴能帮忙。