doni: Mehrdimensionales Array sortieren

Hallo allerseits!

Ich habe folgendes mehrdimensionales Array:

$albums = array(

array(
  "title" => "London",
  "date" => "31.12.2005"
 )

array(
  "title" => "Marseillan-Plage",
  "date" => "12.07.2006"
 )

)

In der echten Anwendung sind da natürlich noch mehr Einträge.

Meine Frage: Ist es möglich, die Arrays in dem $albums-Array nach dem key "date" zu sortieren?
Das würde in diesem konkreten Fall heissen, dass $albums[0]['title'] == "Marseillan-Plage" und $albums[0]['date'] == "12.07.2006" wären.

Das wäre genial!
Danke für eure Hilfe,

Aaron

  1. Hallo doni.

    Meine Frage: Ist es möglich, die Arrays in dem $albums-Array nach dem key "date" zu sortieren?

    Du suchst array_multisort.

    Einen schönen Mittwoch noch.

    Gruß, Ashura

    --
    sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
    „It is required that HTML be a common language between all platforms. This implies no device-specific markup, or anything which requires control over fonts or colors, for example. This is in keeping with the SGML ideal.“
    [HTML Design Constraints: Logical Markup]
    1. echo $begrüßung;

      Meine Frage: Ist es möglich, die Arrays in dem $albums-Array nach dem key "date" zu sortieren?

      Du suchst array_multisort.

      Ich plädiere für eine Sortierung mit benutzerdefinerter Vergleichsfunktion. usort() eignet sich dafür. Beispiele sind auf der Handbuchseite zu finden.

      Bei array_multisort() muss man zuerst das Zeilen-Array (array of rows) umkopieren in ein Spalten-Array (array of columns). Will man beim Zeilen-Array bleiben muss man es nach dem Sortieren wieder zurückkopieren. Das scheint mit im Gegensatz zur usort-Lösung umständlicher.

      echo "$verabschiedung $name";