function http_build_query_helper($array, $name) { $tmp = array(); foreach ($array as $key => $value) { if (is_array($value)) { array_push($tmp, http_build_query_helper($value, sprintf('%s[%s]', $name, $key))); } elseif (is_scalar($value)) { array_push($tmp, sprintf('%s[%s]=%s', $name, urlencode($key), urlencode($value))); } elseif (is_object($value)) { array_push($tmp, http_build_query_helper(get_object_vars($value), sprintf('%s[%s]', $name, $key))); } } // Argument seperator $separator = ini_get('arg_separator.output'); if (strlen($separator) == 0) { $separator = '&'; } return implode($separator, $tmp); }
function http_build_query_helper($array, $name, $arg_separator) { $tmp = array(); foreach ($array as $key => $value) { if (is_array($value)) { array_push($tmp, http_build_query_helper($value, sprintf('%s[%s]', $name, $key), $arg_separator)); } elseif (is_scalar($value)) { array_push($tmp, sprintf('%s[%s]=%s', $name, urlencode($key), urlencode($value))); } elseif (is_object($value)) { array_push($tmp, http_build_query_helper(get_object_vars($value), sprintf('%s[%s]', $name, $key), $arg_separator)); } } return implode($arg_separator, $tmp); }