【php】php4でhttp_build_query()したい
http_build_query()関数が使えるのはphp5から。
php4で使いたいときは自作。
ソース
<?php if (!function_exists('http_build_query')) { function http_build_query($data, $prefix = '', $sep = '', $key = '') { $ret = array(); foreach ((array)$data as $k => $v) { if (is_int($k) && $prefix != null) { $k = urlencode($prefix . $k); } if ((!empty($key)) || ($key === 0)) { $k = $key . '[' . urlencode($k) . ']'; } if (is_array($v) || is_object($v)) { array_push($ret, http_build_query($v, '', $sep, $k)); } else { array_push($ret, $k . '=' . urlencode($v)); } } if (empty($sep)) { $sep = ini_get('arg_separator.output'); } return implode($sep, $ret); } }
だいたい問題なく使えます。
$dataのキーに日本語が入る場合は、、、ちょっと書き直しが必要でしょうか…
コメント