【PHP】クエリストリング文字列を解析して変数を生成する。

めも。

URLの「?」以降にくっついてる文字列を引っこ抜いてパースさせる。
※最初のクエリ先頭に「?」が残ったままだと正しくパースできないので注意。

$queryStr = 'hoge=foo&fuga=bar&piyo=baz';
parse_str($queryStr);
var_dump($hoge, $fuga, $piyo);
↓
string(3) "foo"
string(3) "bar"
string(3) "baz"

パース時に[]を用いることで配列を生成することも可能。

$queryStr = 'hoge[]=foo&fuga[]=bar&piyo[]=baz';
parse_str($queryStr);
var_dump($hoge, $fuga, $piyo);
↓
array(1) {
  [0]=>
  string(3) "foo"
}
array(1) {
  [0]=>
  string(3) "bar"
}
array(1) {
  [0]=>
  string(3) "baz"
}
$queryStr = 'hoge[]=foo&hoge[]=bar&hoge[]=baz';
parse_str($queryStr);
var_dump($hoge);
↓
array(3) {
  [0]=>
  string(3) "foo"
  [1]=>
  string(3) "bar"
  [2]=>
  string(3) "baz"
}

ひじょーに便利。