PHP清理获取URL(名称[]=2)不是([name%5B%5D=2)

PHP清理获取URL(名称[]=2)不是([name%5B%5D=2),php,forms,parameters,get,Php,Forms,Parameters,Get,我知道这是可以做到的,但我不确定最好的解决方案是什么 基本上,当我选中一个复选框时,它将提交表单。这将通过GET更新URL,实际上是更新URL 我的URL类似:http://example.com/products?options%5B%5D=2&options%5B%5B=4 但是,我希望URL看起来像:http://example.com/products?options[]=2和选项[]=4 我有哪些选项?为什么希望url是这样的?它将被正确解析。您是说url在浏览器的位置栏中显示为这样,

我知道这是可以做到的,但我不确定最好的解决方案是什么

基本上,当我选中一个复选框时,它将提交表单。这将通过GET更新URL,实际上是更新URL

我的URL类似:
http://example.com/products?options%5B%5D=2&options%5B%5B=4

但是,我希望URL看起来像:
http://example.com/products?options[]=2和选项[]=4


我有哪些选项?

为什么希望url是这样的?它将被正确解析。您是说url在浏览器的位置栏中显示为这样,还是说您在PHP中接收到的url是这样的?后者可以通过执行
rawurldecode($url)来解决例如,
。我认为前者是特定于浏览器的,因此不受您的控制(除非您只想在自己的浏览器中显示)。我认为某些浏览器(例如Firefox和Vivaldi)有时会在其位置栏中显示未编码的URL(但在我将其复制到剪贴板时已编码),但我还没有弄清楚要实现这一点必须满足哪些条件。