arsort() und ksort() kombinieren?

  • Sprache: PHP 4

    Zu meinem "Problem":

    ich suche eine Funktion die einen Array zunächst aufsteigend nach $key und dann absteigend nach $value sortiert ohne dabei die aufsteigende sortierung nach $key zu zerstören.

    Quasi eine Funktion die diesen beispielarray sortiert:

    Code
    $array = array(
      "Foren" => 2,
      "Autos" => 2,
      "Katzen" => 3,
      "Luftballons" => 1,
      "Hunde" => 1,
    )

    das er danach so aussieht:

    Code
    $array = array(
      "Katzen" => 3,
      "Autos" => 2,
      "Foren" => 2,
      "Hunde" => 1,
      "Luftballons" => 1,
    )

    wenn ich zuerst ksort($array); und dann arsort($array); verwende ist der array leider nicht mehr nach $key sortiert :/

    Kann mir da jemand einen Tipp geben?

  • tja da must du wohl mittels foreach die array auseinander nehmen und

    mittels in_array nach doppelten keys suchen und dann alles fein säuberlich neu sortieren. Ich kenne jetzt auf jedne fall keine fertige funktion.

  • doppelte Keys gibts nicht, das ist in einem array auch gar nicht möglich, ich dachte eher an eine fertige callback Funktion, aber wenn keiner eine fertige gefunden hat werd ich einen Umweg machen über meine sort_by_field() Funktion: