PHP会自动在$ _POST上执行urldecode()吗?

问题描述:

根据http://php.net/manual/en/function.urldecode.php,在$_GET$_REQUEST(其中包含$_POST)上,PHP确实为urldecode()

但是直接调用$_POST已经解码?

+0

是的,它已经被urldecoded。 –

+0

文档明确地为'$ _GET'表示,但只在'$ _POST'的user-contrib注释中。 http://php.net/manual/en/reserved.variables.get.php –

+0

哪个评论迈克尔? –

是的,所有通过$_GET$_POST访问的参数都被解码。

urldecode()文档没有提及的原因$_POST是因为POST数据可能首先不是URL编码。这取决于POST数据是以application/x-www-form-urlencode格式还是multipart/form-data格式提交。

但是,所有这些对应用程序都是透明的。

但是,$_GET的文档确实提到了这一点。

注意
的GET变量通过urldecode()通过。

+0

从[$ _GET文档](http://php.net/manual/en/reserved.variables.get.php):“注意:GET变量通过urldecode()传递。” – doub1ejack