Home > CakePHP > http_build_queryを使うときの注意点(PHP)

http_build_queryを使うときの注意点(PHP)

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);  //元に戻す

関連記事

Sponsored Link

Google+

facebook

zenback

Comments:0

Comment Form
Remember personal info

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

Home > CakePHP > http_build_queryを使うときの注意点(PHP)

Subscribe This Blog
Subscribe This Blog
FeedBurner

Search
Categories
Tag Cloud
Twitter Counter
Archives
My Other Blogs
Affiliate Blogs
Translator
Japanese flagEnglish flag

Return to page top