URL経由でわたってくるクエリ文字列の処理に便利な関数、parse_strがあります。
<?php
$query = "name=jack&age=32";
parse_str($query, $result);
print_r($result);
実行したらこのような結果に。
Array
(
[name] => jack
[age] => 32
)
name=jack&age=32という文字列からname、ageの値それぞれを取得するのに活用できます。
定義としては第一引数に対象の文字列、そして処理結果が第二引数に入ります。
それぞれ$result['name']、$result['age']と言ったかたちで値が取得できます。
では次のような文字列はどうなるでしょうか?
name=jack&age=32&favorite[]=ramen&favorite[]=udon
favoriteが配列になっており、複数指定されています。
<?php
$query = "name=jack&age=32&favorite[]=ramen&favorite[]=udon";
parse_str($query, $result);
print_r($result);
実行すると次のようになります。
Array
(
[name] => jack
[age] => 32
[favorite] => Array
(
[0] => ramen
[1] => udon
)
)
配列の階層が深くなるだけで、基本的な考え方は変わらないと思います。
favoriteの0番目のみ欲しいのであれば、$result['favorite'][0]とすることで、ramenを取得することが可能です。
----- 著 書 の 紹 介 ------
◆kyo asahinaの著書◆
PythonとQt5ではじめるGUIプログラミング for Windows (NKYS書房) Kindle版
テンプレートエンジンTwigを覚える本 Kindle版
Smarty 3を覚える本 Kindle版