ホームページ > バックエンド開発 > PHPチュートリアル > laravel - 关于PHP的HTTP请求,$_REQUEST的KEY自动转义的问题

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

WBOY
リリース: 2016-06-06 20:35:23
オリジナル
1588 人が閲覧しました

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

<code>http://ask.segmentfault.com/api?state.code=16
</code>
ログイン後にコピー
ログイン後にコピー

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>
ログイン後にコピー
ログイン後にコピー

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

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

回复内容:

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

<code>http://ask.segmentfault.com/api?state.code=16
</code>
ログイン後にコピー
ログイン後にコピー

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>
ログイン後にコピー
ログイン後にコピー

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

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

<code>http://ask.segmentfault.com/api?rq[state.code]=16
/** PHP **/
$_GET['rq']['state.code'];
</code>
ログイン後にコピー

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

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート