【发布时间】:2013-06-22 19:06:47
【问题描述】:
当参数名后跟[]或[keyname]时,PHP会自动在$_GET中创建数组。
但是对于公共 API,我希望在 URL 中没有显式括号的情况下具有相同的行为。例如查询
?foo=bar&foo=baz
应该会产生像这样的$_GET(或类似的):
$_GET["foo"] == array("bar", "baz");
有没有可能在 PHP 中轻松获得这种行为?即,在将其提供给 parse_str() 之前,在查询字符串中不解析 $_SERVER['QUERY_STRING'] 或 preg_replacing = 和 []=?
【问题讨论】:
-
是的,抱歉,确实,它会自己解析。但它仍然只是一个正则表达式和一个循环。
-
序列化url中的数组?
-
@Dagon 我可以这样做,例如,允许
foo=bar,baz并在,上拆分。但我想支持基本的“多个相同的查询键”方法,以便于 API 的使用。 (顺便说一句:它应该易于其他人使用。)
标签: php url query-string