Moin!
Und genauso kann man auch in diesem Fall verfahren. Man kann seine Daten primär nach Zeilen verwalten und wenn man eine spaltenorientierte Sortierung benötigt, erstellt man sich quasi einen Index, den man beispielsweise für das Sortieren mit array_multi_sort() verwenden kann.
Die andere Vorgehensweise ist die von Tom propagierte: spaltenweise Datenhaltung und Zugriffsfunktion für den zeilenweisen Zugriff.
Der Unterschied zwischen beiden Methoden ist ein ziemlich bedeutender: Während die Methode mit dem Index an erster Stelle und einem Iterieren über diesen Index immer nur genau EINE Sortierreihenfolge ergeben kann, bietet die Methode mit dem Index an zweiter Stelle die Gelegenheit, die Sortierreihenfolge für JEDES DATENFELD separat herzustellen.
Außerdem ist das Sortieren deutlich einfacher, wenn man mit Methode 2 arbeitet.
Natürlich ist es der erste Reflex, ein Array der Datensätze immer mit numerischem, aufsteigendem Index zu erstellen, aber dieser numerische Index hat bei der zweiten Methode nicht mehr die Aufgabe der fortlaufenden Numerierung, sondern entspricht der Datensatz-ID. Und es ist nicht die schlechteste Idee, diese ID auch als Index zu nutzen, wenn der Datensatz sowas hat.
- Sven Rautenberg