Mailinglisten-Archive |
Hallo Marko, > Hallo Liste, > > Ich hab jetzt ein bißchen mit der Funktion array_multisort rumgespielt > und konnte meinen multidimensionalen Array auch sortieren, allerdings > nicht so wie ich das will. > > $a=array( > 0 => array (2,"Zwei",30), > 1 => array (1,"eins",20), > 2 => array (4,"vier",10), > 3 => array (3,"drei",40) > ); > array_multisort($a); > ich habe gestern auch so was ähnliches gemacht um in einem object die child-elemente zu sortieren. function sortObject($sort_key,$sort_direction = "ASC") { $this->attributes["sort_key"] = $sort_key; $this->attributes["sort_direction"] = $sort_direction; $new_object = $this; $new_object->children = array(); foreach($this->children AS $temp_child_object_key => $temp_child_object) { $arr_Sort_to = array(); foreach($temp_child_object->children AS $obj_profile_key => $obj_profile) { $arr_Sort_to[$obj_profile_key] = $obj_profile->attributes[$this->attributes["sort_key"]]; } natcasesort($arr_Sort_to); if ($sort_direction == "DESC") { $arr_Sort_to = array_reverse($arr_Sort_to); } $new_temp_child_object = $temp_child_object; $new_temp_child_object->children = array(); foreach($arr_Sort_to AS $sort_to_key => $sort_to_value) { $new_temp_child_object->children[] = $temp_child_object->children[$sort_to_key]; } $new_object->children[$temp_child_object_key] = $new_temp_child_object; } $this = $new_object; return $this; } vielleicht kannst du ja damit was anfangen. greets Dany
php::bar PHP Wiki - Listenarchive