Tom: Mehrdimensionales Array sortieren

Beitrag lesen

Hello,

Danke für die Info, mein array hat eine andere Struktur

Du bist aber schon dricht dran, es richtiger zu machen...

Dein Array hat eine "Spaltenstruktur" und gerade die lässt sich mit den Standard-Array-Funktionen von PHP erstklassig sortieren. Du musst nur beachten, dass die Index-Bindung dabei nicht verloren geht, also benutze z.B.

asort($items['itemprice'],SORT_NUMERIC);

Das Element "items" kannst Du dir schenken.
Die Indexe mit vorangestellter Null sind unsicher. Bei der kleinsten Unaufmerksamkeit und bei Überlauf der Voranstellung wird der assoziative String-Index automatisch in einen numerischen Index umgewandelt. Also benutze ausschließlich numerische Indexe, oder stelle den en mit 000# auch noch einen Buchstaben voran.

[items] => Array
                (
                    [0] => 0001
                    [1] => 0002
                    [2] => 0003
                )

[itemname] => Array
                (
                    [0001] => Buch 2
                    [0002] => Buch 3
                    [0003] => Buch 1
                )

[itemprice] => Array
                (
                    [0001] => 3.99
                    [0002] => 2.59
                    [0003] => 7.59
                )

Die Korrelation der Spalten [itemname] und [itemprice] findet ja schon ganz richtig über den Index statt.

Mit Hilfe der von mir hier schon öfter veröffetnlichten universellen Funktionen kannst Du dann Deine Datensätze holen, ändern, hinzufügen, löschen

http://forum.de.selfhtml.org/archiv/2009/5/t187244/#m1244374

Wenn Du eine Liste ausgeben lassen willst, kommt es nur noch darauf an, nach welcher Spalte Du die foreach()-Schleife iterieren lässt.

Du kannst dann alle Sortierungen, also nach jeder Spalte, gleichzeitig bereit halten.

Liebe Grüße aus dem schönen Oberharz

Tom vom Berg

--
Nur selber lernen macht schlau
http://bergpost.annerschbarrich.de