101 | | // From php.net |
102 | | if(!function_exists('http_build_query')) { |
103 | | function http_build_query( $formdata, $numeric_prefix = null, $key = null ) { |
104 | | $res = array(); |
105 | | foreach ((array)$formdata as $k=>$v) { |
106 | | $tmp_key = urlencode(is_int($k) ? $numeric_prefix.$k : $k); |
107 | | if ($key) $tmp_key = $key.'['.$tmp_key.']'; |
108 | | $res[] = ( ( is_array($v) || is_object($v) ) ? http_build_query($v, null, $tmp_key) : $tmp_key."=".urlencode($v) ); |
109 | | } |
110 | | $separator = ini_get('arg_separator.output'); |
111 | | return implode($separator, $res); |
112 | | } |
| 101 | if (!function_exists('http_build_query')) { |
| 102 | function http_build_query($data, $prefix=null, $sep=null) { |
| 103 | return _http_build_query($data, $prefix, $sep); |
| 104 | } |
| 107 | // from php.net (modified by Mark Jaquith to behave like the native PHP5 function) |
| 108 | function _http_build_query($data, $prefix=null, $sep=null, $key='') { |
| 109 | $ret = array(); |
| 110 | foreach ( (array) $data as $k => $v ) { |
| 111 | $k = urlencode($k); |
| 112 | if ( is_int($k) && $prefix != null ) |
| 113 | $k = $prefix.$k; |
| 114 | if ( !empty($key) ) |
| 115 | $k = $key . '%5B' . $k . '%5D'; |
| 116 | |
| 117 | if ( $v === NULL ) |
| 118 | continue; |
| 119 | elseif ( $v === FALSE ) |
| 120 | $v = '0'; |
| 121 | |
| 122 | if ( is_array($v) || is_object($v) ) |
| 123 | array_push($ret,_http_build_query($v, '', $sep, $k)); |
| 124 | else |
| 125 | array_push($ret, $k.'='.urlencode($v)); |
| 126 | } |
| 127 | |
| 128 | if ( NULL === $sep ) |
| 129 | $sep = ini_get('arg_separator.output'); |
| 130 | |
| 131 | return implode($sep, $ret); |
| 132 | } |
| 133 | |