note 95721 deleted from function.urlencode by thiago
| From: | thiago@php.net | Date: | Mon, 18 Jan 2010 14:59:55 +0000 |
| Subject: | note 95721 deleted from function.urlencode by thiago | ||
| References: | 1 | Groups: | php.notes |
| Request: | Send a blank email to php-notes+get-165077@lists.php.net to get a copy of this message | ||
Note Submitter: bkkkd at 163 dot com
----
The function will instead http_build_query in un-know php version.
function
url_query($data,$numeric_prefix='',$arg_separator='',$prefix='')
{
if(function_exists('http_build_query'))
{
return http_build_query($data,$numeric_prefix,$arg_separator);
}
else
{
$render=array();
if(empty($arg_separator))
{
$arg_separator=ini_get('arg_separator.output');
empty($arg_separator)&&$arg_separator='&';
}
foreach((array)$data as $key=>$val)
{
if(is_array($val)||is_object($val))
{
$_key=empty($prefix)?"{$key}[%s]":sprintf($prefix,$key)."[%s]";
$_render=url_query($val,'',$arg_separator,$_key);
if(!empty($_render))
{
$render[]=$_render;
}
}
else
{
if(is_numeric($key) && empty($prefix))
{
$render[]=urlencode("{$numeric_prefix}{$key}")."=".urlencode($val);
}else{
if(!empty($prefix)){
$_key=sprintf($prefix,$key);
$render[]=urlencode($_key)."=".urlencode($val);
}else{
$render[]=urlencode($key)."=".urlencode($val);
}
}
}
}
$render=implode($arg_separator,$render);
if(empty($render))
{
$render='';
}
return $render;
}
}
from http://atim.cn/post/url_query-php4-php5.php