|
Nov
30
|
我们知道, PHP的 parse_str() 函数可以将 URL Query 格式的字符串解析成关联数组, 与PHP生成 $_GET 使用的相同的策略. parse_str() 的"反函数"是 http_build_query(), 它将关联数组和对象生成 URL Query 字符串. 不过, 只在PHP5之后才被支持. 所以, 我们需要编写自己的 http_build_query()
function my_http_build_query($data){
$str = '';
foreach($data as $key=>$value){
foreach(child_str($value) as $v){
$str .= "$key$v&";
}
}
return substr($str, 0, strlen($str)-1);
}
function child_str($data){
$str = array();
if(is_array($data)){
foreach($data as $key=>$value){
foreach(child_str($value) as $v){
$str[] = "[$key]$v";
}
}
}else{
// do url encoding here
$data = str_replace('&', '%26', '='.$data);
$str[] = $data;
}
return $str;
}
Related posts:
Leave a Reply

Recent Comments