- 2008/12/06 01:01
- CakePHP
PHP5から追加になったURLのクエリーを作成するときに便利な関数、「http_build_query」。
この関数を使うと、たとえば次のような配列を作成して関数を使うだけで、URLのクエリー部分が簡単に作成できます。
$data = array('foo'=>'bar',
'baz'=>'boom',
'cow'=>'milk',
'php'=>'hypertext processor');
http_build_query($data); → foo=bar&baz=boom&cow=milk&php=hypertext+processor
これは、日本語もきちんとURLエンコードしてくれる優れものなのですが、一つ注意点があります。
それは、PHPの設定ファイル、php.iniのarg_separator.outputを使用するところです。
この値は、XAMPPの場合、インストールされたデフォルトでは、「&」となっていて、上記のように使用すると、
foo=bar&baz=boo&cow=milk&php=hypertext+processor
となってしまいます。
なので、php.iniの「arg_separator.output」の値を「&」から「&」に変更するか、もしくは下記のような方法を使うのがいいでしょう。
$separator = ini_get('arg_separator.output');
ini_set('arg_separator.output', '&'); //一時的に変更
$q = http_build_query($data);
ini_set('arg_separator.output', $separator); //元に戻す
関連記事
- 多次元配列をソートする(PHP)
- CakePHPで楽天WEBサービスを使う(ジャンルコード)
- クールなグラフを作成できる「Open Flash Chart」のキャッシュ問題
- たったこれだけでPHPからTwitterに投稿できる関数
- 携帯版Google Adsenseのコードがいつのまにか変更になっている
- PHPの負荷測定「phptop」がとりあえず動いたのでメモしてみる
Sponsored Link
Google+
zenback
Comments:0
Trackbacks:0
- Trackback URL for this entry
- http://www.multiburst.net/sometime-php/2008/12/http_build_query/trackback/
- Listed below are links to weblogs that reference
- http_build_queryを使うときの注意点(PHP) from Sometime PHP
Additional comments powered by BackType





