php http_build_query スプライシング配列
?
(PHP 5)
http_build_query?―?URL エンコード後のリクエスト文字列を生成します
指定された連想 (または添字付き) 配列を使用して、URL エンコードされたリクエスト文字列を生成します。パラメータ ?formdata? には、プロパティを含む配列またはオブジェクトを指定できます。 ?formdata?array は、単純な 1 次元構造であることも、配列の配列 (他の配列を含むこともできる) であることもできます。基礎となる配列で数値添字が使用され、?numeric_prefix? パラメーターが指定された場合、このパラメーター値は基礎となる配列の数値添字要素のプレフィックスとして使用されます。これは、後でデータをデコードするときに、PHP またはその他の CGI プログラムが有効な変数名を取得できるようにするためです。
注:
引数を区切るには ?arg_separator.output? を使用します。
例 #1?http_build_query()?使用例
<span style="line-height: 21px; color: #000000;"><code><span style="line-height: 21px; color: #000000;"><span style="line-height: 21px;"><span style="line-height: 21px; color: #0000bb;"><?php<br>$data?</span><span style="line-height: 21px; color: #007700;">=?array(</span><span style="line-height: 21px; color: #dd0000;">'foo'</span><span style="line-height: 21px; color: #007700;">=></span><span style="line-height: 21px; color: #dd0000;">'bar'</span></span><span style="line-height: 21px;"><span style="line-height: 21px; color: #007700;">,<br>??????????????</span><span style="line-height: 21px; color: #dd0000;">'baz'</span><span style="line-height: 21px; color: #007700;">=></span><span style="line-height: 21px; color: #dd0000;">'boom'</span></span><span style="line-height: 21px;"><span style="line-height: 21px; color: #007700;">,<br>??????????????</span><span style="line-height: 21px; color: #dd0000;">'cow'</span><span style="line-height: 21px; color: #007700;">=></span><span style="line-height: 21px; color: #dd0000;">'milk'</span></span><span style="line-height: 21px;"><span style="line-height: 21px; color: #007700;">,<br>??????????????</span><span style="line-height: 21px; color: #dd0000;">'php'</span><span style="line-height: 21px; color: #007700;">=></span><span style="line-height: 21px; color: #dd0000;">'hypertext?processor'</span></span><span style="line-height: 21px;"><span style="line-height: 21px; color: #007700;">);<br>??????????????<br>echo?</span><span style="line-height: 21px; color: #0000bb;">http_build_query</span><span style="line-height: 21px; color: #007700;">(</span><span style="line-height: 21px; color: #0000bb;">$data</span><span style="line-height: 21px; color: #007700;">);?</span></span><span style="line-height: 21px;"><span style="line-height: 21px; color: #ff8000;">//?foo=bar&baz=boom&cow=milk&php=hypertext+processor<br></span><span style="line-height: 21px; color: #0000bb;">?></span></span></span>
$data?
' bar',???????????? 'baz'=>
'ブーム', ?? ?????????????'牛'=>'ミルク',????????????=> 'ハイパーテキスト?プロセッサ' );???????????? ?エコー? http_build_query( $data);? //?foo=bar&baz=boom&cow=milk&php=hypertext+processor?> 例 2?http_build_query()? 数値添字を使用する要素
<span style="line-height: 21px; color: #000000;"><span style="line-height: 21px;"><span style="line-height: 21px; color: #0000bb;"><?php<br>$data?</span><span style="line-height: 21px; color: #007700;">=?array(</span><span style="line-height: 21px; color: #dd0000;">'foo'</span><span style="line-height: 21px; color: #007700;">,?</span><span style="line-height: 21px; color: #dd0000;">'bar'</span><span style="line-height: 21px; color: #007700;">,?</span><span style="line-height: 21px; color: #dd0000;">'baz'</span><span style="line-height: 21px; color: #007700;">,?</span><span style="line-height: 21px; color: #dd0000;">'boom'</span><span style="line-height: 21px; color: #007700;">,?</span><span style="line-height: 21px; color: #dd0000;">'cow'?</span><span style="line-height: 21px; color: #007700;">=>?</span><span style="line-height: 21px; color: #dd0000;">'milk'</span><span style="line-height: 21px; color: #007700;">,?</span><span style="line-height: 21px; color: #dd0000;">'php'?</span><span style="line-height: 21px; color: #007700;">=></span><span style="line-height: 21px; color: #dd0000;">'hypertext?processor'</span></span><span style="line-height: 21px;"><span style="line-height: 21px; color: #007700;">);<br>??????????????<br>echo?</span><span style="line-height: 21px; color: #0000bb;">http_build_query</span><span style="line-height: 21px; color: #007700;">(</span><span style="line-height: 21px; color: #0000bb;">$data</span></span><span style="line-height: 21px; color: #007700;"><span style="line-height: 21px;">);<br></span></span><span style="line-height: 21px;"><span style="line-height: 21px; color: #ff8000;"><br>?<br></span><span style="line-height: 21px; color: #007700;">echo?</span><span style="line-height: 21px; color: #0000bb;">http_build_query</span><span style="line-height: 21px; color: #007700;">(</span><span style="line-height: 21px; color: #0000bb;">$data</span><span style="line-height: 21px; color: #007700;">,?</span><span style="line-height: 21px; color: #dd0000;">'myvar_'</span></span><span style="line-height: 21px; color: #007700;"><span style="line-height: 21px;">);<br></span></span><span style="line-height: 21px;"><span style="line-height: 21px; color: #ff8000;"><br></span><span style="line-height: 21px; color: #0000bb;">?></span></span></span>
=========================================== === ========================================
この 2 つの機能を簡単に理解します
parse_str は URL の背後にあるパラメータを配列
に変換しますか?array parse_str(url,arr)
parse_url は完全な URL を配列に解析します
配列 parse_url(文字列 URL)
http_build_query は配列を URL に変換しますか? 次のパラメータ文字列は自動的に URL エンコードされます
string http_build_query (array formdata [, string numeric_prefix])
指定されたキーがない場合、またはキーが数値の場合は配列に添字を追加します