dedlfix: Wie Array sortieren

Beitrag lesen

Tach!

ich verzweifele zur Zeit beim sortieren eines mehrdimensionalen Arrays.

Die Bezeichung "mehrdimensionales Array" für baumstrukturierte Daten ist irreführend und auch nicht korrekt. Konkret hast du ein Array mit Datensätzen. Diese sind assoziative Arrays und haben (vielleicht sogar unnötigerweise) einen Eintrag, der weitere Daten in Form eines weiteren assoziativen Arrays bündelt. Also ein Baum und kein in mehrere Dimensionen gleichmäßig strebendes Gebilde.

ich blicke aber bei den sortierfunktionen bei PHP absolut nicht durch, welches wäre die richtige für dieses Problem?

Solche Strukturen kann man nun beliebig verästeln und es wäre ein Unding, für alle möglichen Strukturen eine Sortierfunktion bereitzustellen. Deshalb gibt es neben den für einfache Arrays geeigneten Sortierfunktionen die u-Varianten, denen man eine benutzerdefinierte Vergleichsfunktion übergeben kann. In dieser bekommst du jeweils zwei Elemente des Arrays und vergleichst da die für dich relevanten Einträge. (array_multisort() gibts auch noch, aber das lass mal lieber unbeachtet. Es arbeitet mit einer realtiv ungebräuchlichen Datenstruktur und ist für deine nicht direkt verwendbar.)

dedlfix.