我希望能够区分设置为 null 的现有查询字符串参数和缺少的参数。所以问题的部分是:
- 如何检查查询字符串中是否存在参数
- 在查询字符串中传递空值的既定方法是什么?(例如 param=null 或 param=(nothing) )
谢谢
我希望能够区分设置为 null 的现有查询字符串参数和缺少的参数。所以问题的部分是:
谢谢
或使用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'];
}