SOFTELメモ Developer's blog

会社概要 ブログ 調査依頼 社員募集 ...

【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のキーに日本語が入る場合は、、、ちょっと書き直しが必要でしょうか…

関連するメモ

コメント