PHP の parse_str() 関数は、URL クエリ形式の文字列を連想配列に解析できることがわかっています。これは、PHP が $_GET を生成するために使用するのと同じ戦略です。parse_str() の「逆関数」は、連想配列とオブジェクトは URL クエリ文字列を生成します。ただし、これは PHP5 以降でのみサポートされるため、独自の http_build_query()
function my_http_build_query($data){ $str = ''; =>$value){ foreach(child_str($value) as $v){ $str .= "$key$v&" } } return substr($str, 0, strlen($str)- 1);} function child_str($data){ $str = array(); if(is_array($data)){ foreach($data as $key=>$value){ foreach(child_str($value) as $v){ $ str[] = "[$key]$v"; } } }else{ // ここで URL エンコードを行います $data = str_replace('&', '%26', '='.$data); = $data; } $str;}