php - HTTP 查询字符串和 []

标签 php http uri query-string urlencode

PHP 在查询参数名称中使用 [] 以确保多次出现的参数都出现在 $_GET 超全局变量中。 (否则只有最后一次出现。)(任何其他软件都这样做吗?)

但来自RFC 3986 (以及其他人)似乎 [] 都不允许出现在查询字符串中。

然而,我对各种浏览器的实验表明,没有浏览器对这些字符进行编码,它们就像那样存在于 URI 中......

这是现实生活中的做法吗?还是我测试不正确?我在 IIS 7 上使用 PHP 5.3.17 进行了测试。使用 Internet Explorer、Firefox 和 Chrome。然后我比较了 $_SERVER['QUERY_STRING']$_GET 中的内容。

最佳答案

这是常见的做法。这是一种将数组传递到后端脚本的方法,并且可以与 ASP 和 PHP 一起使用(从未使用 ASP.net 进行过测试,但是当我在 ~2004 年使用 ASP 时这是常见的做法)。据我所知,除非您使用 javascript 和 .join 或类似的东西,否则没有其他方法可以将数组传递给您的脚本。

可以查看http://www.thefutureoftheweb.com/blog/use-arrays-with-html-form-inputs作为如何在要传递到后端的 HTML 表单中使用数组的引用资料之一。不过,公平地说,大多数时候它们与“POST”而不是“GET”一起使用。

关于php - HTTP 查询字符串和 [],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12928173/

相关文章:

Java检测url

java - Android Uri 到文件大小

javascript - 当用户在下拉列表中选择演讲者姓名时,只有演讲者的专业知识才会显示在下一个主题下拉列表中

php - 定义媒体列表的属性并在一行中返回值

php - 在 MySQL 中存储 HTML5 地理位置信息

c# - 为什么C#的HttpClient调用不了这个URL(总是超时)?

php - 未找到 autoload.php 类

php - 如何区分http和cli请求?

java - XML 架构位置最佳实践

ruby - 一种以宽容的方式在 Ruby 中标准化 URI/URL 的方法