常见应用环境:
//把一个多维数组,按field 顺序建一个新的多维数组,层数为array_field的个数
function extended_array($array,$fields,$clear=1){
$array_field=explode(",",$fields);
$array_field_length=count($array_field);
$tmp=array();
foreach ($array as $key => $single_info){
$next=&$tmp;
foreach ($array_field as $index => $single_field) {
$v=$single_info[$single_field];
if(isset($next[$v])==false){
$next[$v]=array();
}
$next=&$next[$v];
if($clear==1){
unset($single_info[$single_field]);
}
}
$next[]=$single_info;
}
return $tmp;
}
/*
$array=array();
$array[]=array("a"=>1,"b"=>1,"c"=>1,'d'=>"1");
$array[]=array("a"=>1,"b"=>1,"c"=>1,'d'=>"3");
$array[]=array("a"=>2,"b"=>2,"c"=>2,'d'=>"2");
$array[]=array("a"=>2,"b"=>3,"c"=>2,'d'=>"3");
$array[]=array("a"=>2,"b"=>5,"c"=>5,'d'=>"4");
$array[]=array("a"=>2,"b"=>5,"c"=>6,'d'=>"7");
print_r(extended_array($array,"a,b"));
*/