欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

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

程序员文章站 2022-05-26 18:26:44
...
比如有这样的一个HTTP的GET请求:
http://ask.segmentfault.com/api?state.code=16

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

官方有这样的一个说明:

Dots and spaces in variable names are converted to underscores. For example  becomes $_REQUEST["a_b"].

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

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

回复内容:

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

http://ask.segmentfault.com/api?state.code=16

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

官方有这样的一个说明:

Dots and spaces in variable names are converted to underscores. For example  becomes $_REQUEST["a_b"].

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

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

http://ask.segmentfault.com/api?rq[state.code]=16
/** PHP **/
$_GET['rq']['state.code'];

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

相关标签: php laravel