php - http_build_query 没有参数值(空值)

标签 php url null query-string

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/

相关文章:

php - Web 服务(学期)类(class)中的基本主题是什么?

Java URL/HttpURLConnection 如何在发布时避免 InputStream?

php - index.php 之后的目录层次结构

c# - 使用 Min 或 Max 时如何处理 LINQ 中的空值?

php - 在 PHP 中连接 3 个表以创建一个数组

php - 搜索并比较两个表的行

php - 在 PHP eval() 中调用用户定义的函数

c# - 确定任何打开的 IE 窗口的 URL

php - 选项参数的值 : FALSE or NULL

validation - 迁移表中存在 :true vs. null:false