LoginSignup
3
3

More than 5 years have passed since last update.

PHPのドットとアンスコ

Posted at

外部から来る変数

注意:
変数名のドットやスペースはアンダースコアに変換されます。 たとえば <input name="a.b" /> は $_REQUEST["a_b"] となります。

これは了解した。
でもどうしてもドットを使いたい時はどうするかというと、第一に思い付くのが $_SERVER['QUERY_STRING'] では無いでしょうか。

そしてこの文字列を便利に処理してくれる関数も用意されている。
それが parse-str というわけで早速使ってみる。

parse_str($_SERVER['QUERY_STRING'], $request);

よし、これで目的は果たせたはず!
...
...
...

いえ、これでも無理なんです。
恐らく parse_str は第2引数無しの場合は key をそのまま変数名とする為、 変数名のドットはアンスコに置換 という制約に該当してしまうと。

結局

$pairs = explode("&", $_SERVER['QUERY_STRING']);
foreach ($pairs as $pair) {

な感じで解析しましたとさ。
おしまい。

3
3
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3