PHP函数查询对于构建带有GET参数的URL非常方便。但有时我喜欢使用无值的“布尔”参数,如下所示:
/mypage?subscription-id=42&cancel-renewal
然后我用一个简单的isset来检查。我能用http_build_query实现这个结果吗?
编辑:为参数分配空值的似乎不起作用:
cancel-renewal => ''导致cancel-renewal=cancel-renewal => null导致省略参数cancel-renewal => false导致cancel-renewal=0发布于 2019-03-21 17:37:33
我能用http_build_query实现这个结果吗?
不是的。在内部,无论参数的值是什么,http_build_query都会追加=键值分隔符。您可以看到源代码这里 (PHP7.3.3)
意味着您要么需要接受参数的cancel-renewal=外观,要么需要重新设计路径以获得类似于/mypage/cancel-renewal?subscription-id=42的内容。
第三个选项是编写自己的简单函数来构建查询字符串。
发布于 2019-03-21 15:17:17
使用这个;
$query = array("subscription-id" => 42, "cancel-renewal" => "");
$http_query = http_build_query($query);这将返回?subscription-id=42&cancel-renewal=。并且在isset()中非常好地工作
https://stackoverflow.com/questions/55283034
复制相似问题