php http_build_query実装チュートリアル
http_build_query
(PHP5)
http_build_query - URL エンコードされたクエリ文字列を生成します
説明
string http_build_query (array $formdata [ , string $numeric_prefix [ , string $arg_separator ] ] )
関連 (またはインデックス) 配列から提供される URL エンコードされたクエリ文字列を生成します。
パラメータ
フォームデータ
プロパティを含む配列またはオブジェクトの場合があります。
配列の形式は、単純な 1 次元構造、または配列の配列 (他の配列を含む場合もあります) の場合があります。
数値プレフィックス
数値インデックスがベース表示に使用されており、このパラメータが指定されている場合、このパラメータはベース表示の数値インデックス コンテンツのみに付加されます。
これは、PHP またはその他の CGI アプリケーションでデータをデコードするときに法的に許可されている変数名です。
arg_separator
arg_separator.output は、この引数が指定されていない限り、個別の引数に使用され、その後使用されます。
戻り値
URL エンコードされた文字列を返します。
変更
リリースノート
5.1.2 arg_separator パラメータの補足。
5.1.3 角括弧はエスケープされます。
例
例1 http_build_query() を簡単に使用する
$data = array('foo'=>'bar',
'baz'=>'ブーム',
'牛'=>'牛乳',
'php'=>'ハイパーテキスト プロセッサ');
echo http_build_query($data); // foo=bar&baz=boom&cow=milk&php=hypertext+processor
echo http_build_query($data, '', '&'); // foo=bar&baz=boom&cow=milk&php=hypertext+processor
?>
例2 http_build_query() で要素を数値的にインデックス化します。
$data = array('foo', 'bar', 'baz', 'boom', 'cow' => 'milk', 'php' =>'ハイパーテキストプロセッサ');
エコー http_build_query($data) "n";
echo http_build_query($data, 'myvar_');
?>
上記の例では次のように出力されます:
0=foo&1=bar&2=baz&3=boom&cow=milk&php=ハイパーテキスト+プロセッサー
myvar_0=foo&myvar_1=bar&myvar_2=baz&myvar_3=boom&cow=milk&php=ハイパーテキスト+プロセッサ
例3 複雑な配列を使用した http_build_query()
$data = array('user'=>array('name'=>'ボブ・スミス',
)
「年齢」=>47、
'性別'=>'M',
'dob'=>'1956 年 5 月 12 日')、
'pastimes'=>array('golf', 'opera', 'poker', 'rap'),
'子供'=>array('ボビー'=>array('年齢'=>12,
)
'性別'=>'M')、
'sally'=>array('age'=>8,
'性別'=>'F'))、
'CEO');
echo http_build_query($data, 'flags_');