[PHP] Mehrdimensionales Array Sortieren

Entrader

Cadet 4th Year
Registriert
März 2007
Beiträge
105
Hallo, Ich hab ein Problem mit dem Sortieren eines mehrdimensionalen Arrays, bevor ich anfange, erstmal ein Ausschnitt des Arrays:

PHP:
Array
(
    [0] => Array
        (
            [file] => Untitled-1.jpg
            [endung] => jpg
            [size] => 4 KB
            [datum] => 1175178833
            [typ] => bild
        )

    [1] => Array
        (
            [file] => upload_nue.rar
            [endung] => rar
            [size] => 148 KB
            [datum] => 1175178013
            [typ] => anders
        )

    [2] => Array
        (
            [file] => Untitled-1.gif
            [endung] => gif
            [size] => 1 KB
            [datum] => 1175178827
            [typ] => bild
        )

    [3] => Array
        (
            [file] => Thumbs.db
            [endung] => db
            [size] => 6 KB
            [datum] => 1175196905
            [typ] => anders
        )

    [4] => Array
        (
            [file] => IMG_0958.jpg
            [endung] => jpg
            [size] => 103 KB
            [datum] => 1175192218
            [typ] => bild
        )

    [5] => Array
        (
            [file] => email-marketing.jpg
            [endung] => jpg
            [size] => 111 KB
            [datum] => 1177630703
            [typ] => bild
        )

)

Wie unschwer zu erkennen handelt es sich um ein Upload script! ;)

Ich möchte dieses Array gerne nach dem Dateinamen Sortieren lassen. Wenn möglich in natürlicher Art und Weise.

Ich danke euch schonmal für eure Hilfe! ;)
 
da du keinen der berühmten standardfälle hast und ich mir gerade ziemlich sicher bin, dass php über keine generisch bibiothek fürs sortieren verfügt, musst du es wohl von hand implementieren.
da du nur eine handvoll einträge zu haben scheinst, reicht wahrscheinlich ein bubble-sort aus.
 
ghorst schrieb:
da du keinen der berühmten standardfälle hast und ich mir gerade ziemlich sicher bin, dass php über keine generisch bibiothek fürs sortieren verfügt, musst du es wohl von hand implementieren.
da du nur eine handvoll einträge zu haben scheinst, reicht wahrscheinlich ein bubble-sort aus.

PHP sollte sowas doch sortieren können, zumindest irgendwie mit usort?!
 
PHP:
usort(
  $array,
  create_function(
    '$a,$b',
    'return strNatCaseCmp($a["file"], $b["file"]);'
  )
);

greetings, Keita
 
Keita schrieb:
PHP:
usort(
  $array,
  create_function(
    '$a,$b',
    'return strNatCaseCmp($a["file"], $b["file"]);'
  )
);

greetings, Keita

Vielen Dank, das funktioniert! :)
 
Zurück
Oben