Heim > Backend-Entwicklung > PHP-Tutorial > laravel - 关于PHP的HTTP请求,$_REQUEST的KEY自动转义的问题

laravel - 关于PHP的HTTP请求,$_REQUEST的KEY自动转义的问题

WBOY
Freigeben: 2016-06-06 20:35:23
Original
1588 Leute haben es durchsucht

比如有这样的一个HTTP的GET请求:

<code>http://ask.segmentfault.com/api?state.code=16
</code>
Nach dem Login kopieren
Nach dem Login kopieren

PHP会自动把$_REQUEST["state.code"]转义为$_REQUEST["state_code"]

官方有这样的一个说明:

<code>Dots and spaces in variable names are converted to underscores. For example <input name="a.b"> becomes $_REQUEST["a_b"].
</code>
Nach dem Login kopieren
Nach dem Login kopieren

因为后端存储用的是MongoDB,所以希望能查询json内嵌的的数据,所以希望支持“点”这种方式的查询。针对这种问题应该如何解决呢?

顺便说下,PHP的Web Framework用的是Laravel。

回复内容:

比如有这样的一个HTTP的GET请求:

<code>http://ask.segmentfault.com/api?state.code=16
</code>
Nach dem Login kopieren
Nach dem Login kopieren

PHP会自动把$_REQUEST["state.code"]转义为$_REQUEST["state_code"]

官方有这样的一个说明:

<code>Dots and spaces in variable names are converted to underscores. For example <input name="a.b"> becomes $_REQUEST["a_b"].
</code>
Nach dem Login kopieren
Nach dem Login kopieren

因为后端存储用的是MongoDB,所以希望能查询json内嵌的的数据,所以希望支持“点”这种方式的查询。针对这种问题应该如何解决呢?

顺便说下,PHP的Web Framework用的是Laravel。

<code>http://ask.segmentfault.com/api?rq[state.code]=16
/** PHP **/
$_GET['rq']['state.code'];
</code>
Nach dem Login kopieren

在数组内是不会被转的,虽然麻烦了点,不过不失为一种解法…

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage