在PHP中检查NULL和缺少查询字符串参数
-
09-10-2019 - |
题
我希望能够区分设置为null的现有查询字符串参数和缺少参数。因此,问题的部分是:
- 如何检查参数是否 存在 在查询字符串中
- 在查询字符串中传递零值的已建立方法是什么? (例如param = null或param =(nothing))
谢谢
其他提示
或使用 array_key_exists
:
if(array_key_exists("myParam", $_GET)) {
}
我从来没有热衷于将空值传递给服务器的“约定” - 我习惯于测试存在变量,然后修剪它们并测试空虚。
存储在 $_GET
和 $_POST
除非在运行时明确设置,否则只能是字符串或数组。如果您有一个查询字符串 query=string
值是 "string"
如果您使用: query=null
值将是 "null"
. 。请注意,它是一个字符串。
如果您发送: query=
, ,价值将是 ""
或空字符串。注意 差异 之间 isset
和 empty
. isset
如果值不是零,则将是正确的 empty
当价值评估到 false
. 。因此 ""
将是正确的 两个都 isset
和 empty
.
如果您只想检查查询字符串参数是否设置为 "null"
, ,您可以简单地检查 $_GET['query']=='null'
(您可能需要在检查之前调整字符的情况)
使用一个if语句而不是两个:
if ((isset($_REQUEST['name'])) && (!empty($_REQUEST['name'])))
{
$name= $_REQUEST['name'];
}
不隶属于 StackOverflow