SYNCER

SYNCER

parse_str() - クエリ文字列を変数に代入する

公開日:

parse_strは、クエリ文字列を解析し、変数、または配列にそれらを代入する関数です。

構文

void parse_str ( string $str [, array &$arr ] )

パラメータ

$str

対象の文字列。

&$arr

配列に加えたい場合は配列を指定する。

返り値

返り値はありません。

void

サンプルコード

クエリ文字列を変数に代入する

クエリ文字列を解析して、変数に代入します。例えば下記の場合、クエリ文字列のそれぞれのキー名、$aaa$bbb$cccという変数が作成され、そこに値が代入されます。

php

<?php
	// クエリ文字列
	$str = "aaa=AAA&bbb=BBB&ccc[]=X&ccc[]=Y" ;

	// 実行
	parse_str( $str ) ;

	// 結果
	var_dump( $aaa ) ;
	var_dump( $bbb ) ;
	var_dump( $ccc ) ;

結果 (出力内容) - PHP7.0.21

string(3) "AAA"
string(3) "BBB"
array(2) {
  [0]=>
  string(1) "X"
  [1]=>
  string(1) "Y"
}

クエリ文字列を配列に代入する

第2引数に配列を指定すると、変数ではなくその配列に代入されます。この場合は、クエリ文字列のそれぞれのキー名である"aaa""bbb""ccc"という3つのキーが配列に追加されました。

php

<?php
	// 配列
	$queue = [] ;

	// クエリ文字列
	$str = "aaa=AAA&bbb=BBB&ccc[]=X&ccc[]=Y" ;

	// 実行
	parse_str( $str, $queue ) ;

	// 結果
	var_dump( $queue ) ;

結果 (出力内容) - PHP7.0.21

array(3) {
  ["aaa"]=>
  string(3) "AAA"
  ["bbb"]=>
  string(3) "BBB"
  ["ccc"]=>
  array(2) {
    [0]=>
    string(1) "X"
    [1]=>
    string(1) "Y"
  }
}

サンドボックス

ソースコードを編集してparse_str()の挙動を確認して下さい。

string(3) "AAA"
string(3) "BBB"
array(2) {
  [0]=>
  string(1) "X"
  [1]=>
  string(1) "Y"
}

参考リンク

  • PHP - 公式マニュアル。