PHP and javascript snippets you can copy and paste.

Friday, March 16, 2007

net_conv_arrayToURLStr($arr,$prefix,$arg_separator)

/**
* net_conv_arrayToURLStr
*
* Converts an array to a url string.
* @param $arr - array to convert to url string.
* @param $prefix - string. If numeric indices are used in the base array and this parameter is provided, it will be prepended to the numeric index for elements in the base array only.
* @param $arg_separator - arg_separator.output is used to separate arguments, unless this parameter is specified, and is then used.
* Credit: mqchen at gmail dot com
* @return string.
*/

function net_conv_arrayToURLStr($arr,$prefix=null,$arg_separator=null){

if(!function_exists('http_build_query')){
$s = http_build_query($arr, $prefix, $arg_separator);
}
else{
$ret = array();
foreach((array)$arr as $k => $v) {
$k= urlencode($k);
if(is_int($k) && $prefix != null) {
$k = $prefix.$k;
};
if(!empty($key)) {
$k = $key."[".$k."]";
};

if(is_array($v) || is_object($v)) {
array_push($ret,arrayToURLStr($v,"",$arg_separator,$k));
}
else {
array_push($ret,$k."=".urlencode($v));
};
};

if(empty($sep)) {
$sep = ini_get("arg_separator.output");
};

$s = implode($sep, $ret);

}

return $s;

}

No comments: