http_build_query関数は、URLパラメータに使える「id=001&name=nisi&age=40」のような&で区切られた文字列を配列から作成できる便利な関数です。
▼http_build_query関数の使用例
<?php $array = array( "id"=>"001", "name"=>"nisi", "age"=>"40" ); $params = http_build_query($array); echo $params; ?>
この関数で作成した文字列がURLパラメータとして機能しないことがあります。次のように各要素が&ではなく&で結合されてしまっている場合です。ちなみに、実行結果をブラウザに出力すると「id=001&name=nisi&age=40」のように問題のないURLパラメータに見えるので注意しましょう。
▼URLパラメータとして機能しない文字列
id=001&name=nisi&age=40
これは、php.iniのarg_separator.outputが「&」に設定されているのが原因です。XAMPPなどをインストールした場合は、このように設定されていることがあります。
この設定を「&」に変更すれば「id=001&name=nisi&age=40」のように「&」で結合された文字列が作成されます。php.iniを変更しても構いませんし、ini_set関数を使用して現在のスクリプトのみ一時的に変更しても良いでしょう。
▼arg_separator.outputの設定
ini_set("arg_separator.output","&");