我希望能够区分设置为 null 的现有查询字符串参数和缺少的参数。所以问题的部分是:
- 如何检查查询字符串中是否存在参数
- 在查询字符串中传递空值的既定方法是什么?(例如 param=null 或 param=(nothing) )
谢谢
我希望能够区分设置为 null 的现有查询字符串参数和缺少的参数。所以问题的部分是:
谢谢
或使用array_key_exists:
if(array_key_exists("myParam", $_GET)) {
}
我从来没有热衷于将空值传递给服务器的“约定”——例如,我习惯于测试变量的存在,然后修剪它们并测试空值。
除非在运行时明确设置,否则存储的值$_GET只能$_POST是字符串或数组。如果您有一个值的查询字符串,query=string如果"string"您改为使用:query=null该值将是"null". 请注意,它是一个字符串。
如果您发送:query=,该值将是""或空字符串。注意 和之间的区别。如果值不为空,则为真,而当值计算为 时,将为真。因此对于和都将成立。issetemptyissetemptyfalse"" issetempty
如果您只想检查查询字符串参数是否设置为 的字符串值"null",您可以简单地检查$_GET['query']=='null'(您可能需要在检查之前调整字符的大小写)
使用一个 if 语句而不是两个:
if ((isset($_REQUEST['name'])) && (!empty($_REQUEST['name'])))
{
$name= $_REQUEST['name'];
}