Hi!
array_multisort() ist Mist, es benötigt eine andere Struktur. Üblicher- und einfacherweise nimmt man eine der u*sort-Funktionen und eine benutzerdefinierte Vergleichsfunktion.
Das umformen in eine andere Struktur, sortieren und wieder zurückübertragen ist aber imho für einen Einsteiger einfacher zu verstehen als eine benutzerdefinierte Vergleichsfunktion.
Finde ich nicht, denn die Daten liegen dann nicht mehr pro Satz in einem Array sondern sind über mehrere Arrays verteilt. Das muss man erst einmal verstehen, damit man sie so hinbiegen und daraus wieder zurückbringen kann. (Für die Sortierung nach nur einem Kriterium braucht es dann auch kein array_multisort() mehr.) Außerdem sind das zwei zu programmierende Dinge, oder nur eins nebst Umstellen des danach darauf zugreifenden Codes, die benutzerdefinierte Funktion ist nur eins, sehr oft verwendet und damit dokumentiert. Und in der Regel ist es mit Verwendung von str(case)cmp() nur ein Einzeiler.
Lo!