NEK
Guest
Зацените url_serialize
Вот код (можно серилизовать для передачи по методу $_GET)
Может кому-то надо ???
Вот код (можно серилизовать для передачи по методу $_GET)
PHP:
<?function url_serialize(){
/*NEK - htpp://kpss7.h10.ru
/*8 Aug 2003 -> url_serialize()
/*первый параметр должен быть масивом имен сериализ. переменныых
/*все остальные параметры масивы и переменные
/*результат=стока для
/* host.ru/truba.php?$url_serialize(array('d','d2'),array(1,2=>array(5)),'any');
/**/
function array2url(&$var,$h,&$t,$level=0){
if (is_array($var)){
for(reset($var),$level++;list($k,$v)=each($var);)
if($r=array2url($v,$h.'%5B'.$k.'%5D',$t,$level))
$t.='&'.$h.'%5B'.$k.'%5D='.$r;
} else return urlencode($var);
}
if(!is_array($name=func_get_arg($i)) Die('Первый параметр не масив !!!');
array_unshift($name,'');//первый пустой аргумент
for($i=1;$i<func_num_args();$i++){
$a=func_get_arg($i);$t=NULL;
if(is_array($a)) array2url($a,$name[$i],$t);//если масив
else $t='&'.$name[$i].'='.urlencode($a); //иначе
$st.=$t;//соелиняем стороки
}
return substr($st,1);//возвращем результат
}?>
<?$a=array(1,2,'df'=>'dfg',5=>array(7,8=>array(1)));
echo 'url: '.$url=url_serialize(array('d'),$a);
/* echo '<br>';
$url=str_replace('%5B','[',$url);
$url=str_replace('%5D',']',$url);
$url=str_replace('&','<br>',$url);
echo 'url:<blockquote>'.$url.'</blockquote>';
/**/
?>