Mailinglisten-Archive |
Bernhard Ostheimer schrieb > wie kann ich denn krsort (also Array nach Keys absteigend > sortieren und Beziehung key<->data beibehalten) zu Fuss > realisieren? Die Funktion gibts erst ab 3.0.13 > (und ich hab 3.0.12 *schniff*). Du willst Du bestimmt nicht hören, aber ein Upgrade auf 3.0.17 bzw. 4.0.3pl1 wäre auch aus anderen Gründen (Sicherheit) sehr zu empfehlen. Ansonsten fällt mir folgendes ein. Da die Abarbeitung von Schleifen bei PHP3 nicht besonders effizient ist, wird der nachfolgende Code bei großen Arrays zu einer spürbaren Performancebremse werden. function dirty_krsort($array, $debug=0) { $z = 0; while(list($k, $v) = each($array)) { $keys[$z] = $k; $values[$z] = $v; $z++; } arsort($keys); reset($keys); while(list($k, $v) = each($keys)) { $new_array[$v] = $values[$k]; } if($debug == 1) { reset($new_array); while(list($k, $v) = each($new_array)) { echo "$k => $v <br>\n"; } } return $new_array; } $array = array( "bernhard" => "Osterheimer", "test" => "hurz", "lalilu" => "schnief", "purz" => "plemplem", "grunz" => "plop" ); $array = dirty_krsort($array,1); Guido Haeger
php::bar PHP Wiki - Listenarchive