2

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

但是从RFC 3986(以及其他)看来,查询字符串中既不允许[]不允许。

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

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

4

1 回答 1

1

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

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

于 2012-10-17T06:21:37.803 回答