PHP 函数 http_build_query对于使用 GET 参数构建 URL 非常方便。但有时我喜欢使用无值的“ bool ”参数,像这样:
/mypage?subscription-id=42&cancel-renewal
然后我用一个简单的 isset
检查。我可以使用 http_build_query
实现这个结果吗?
编辑:为参数分配空值似乎不起作用:
cancel-renewal => ''
结果为cancel-renewal=
cancel-renewal => null
导致参数被省略cancel-renewal => false
结果为cancel-renewal=0
最佳答案
Can I achieve this result with http_build_query?
没有。无论参数的值是多少,http_build_query
都会在内部附加 =
键值分隔符。
可以看源码here (PHP 7.3.3)
意味着您要么需要接受参数的 cancel-renewal=
外观,要么可以重新设计路径以具有类似 /mypage/cancel-renewal?subscription-id=42 的内容
第三种选择是编写您自己的简单函数来构建查询字符串。
关于php - http_build_query 没有参数值(空值),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55283034/