phpbar.de logo

Mailinglisten-Archive

[php] mehrdimensionales Array nach Werten sortieren

[php] mehrdimensionales Array nach Werten sortieren

Lutz Zetzsche Lutz.Zetzsche at sea-rescue.de
Die Aug 23 17:13:00 CEST 2005


Hi Frank,

Frank Böhme schrieb:
>
>> $arr[0][name] = "Lehmann"
>> $arr[0][vorname] = "bla"
>> $arr[0][kdnr] = 3
>> ...
>> $arr[1][name] = "Böhme"
>> $arr[1][vorname] = "bla"
>> $arr[1][kdnr] = 5
>
> Nun verzweifel ich hier aber auch so langsam. Es gibt so viel Stoff
> zum Nachlesen, aber nichts trifft den Punkt, so wie ich es brauche.
> Sind denn meine Sortierwünsche so ausgefallen ?! Ich bin allen
> Hnweisen nachgegangen, aber nichts hat funktioniert.
>
> Hängengeblieben bin ich an array_multisort, sieht so aus, als käme das
> meinen Bedingungen am nächsten:
>
> array_multisort ($XX, SORT_ASC, SORT_STRING, $XX, SORT_ASC, SORT_STRING);
>
> Aber in keiner Doku finde ich beschrieben, was an den Stellen "$XX"
> stehen muß. Ich finde immer nur praktische Beispiele, die mir so
> nichts nützen.
>
> Welche Array-Namen muß ich denn der Funktion übergeben, damit sie mir
> das Gesamtarray nach Namen sortiert ? Kann mir das bitte jemand sagen ?

Du mußt den Array zunächst umbauen:

$arr[name][0] = "Lehmann"
$arr[vorname][0] = "bla"
$arr[kdnr][0] = 3
...
$arr[name][1] = "Böhme"
$arr[vorname][1] = "bla"
$arr[kdnr][1] = 5

Dann geht es so, wenn Du nach Name ASC, Vorname ASC sortieren möchtest:

array_multisort ($arr[name], SORT_ASC, SORT_STRING, $arr[vorname],
SORT_ASC, SORT_STRING)


Viele Grüße

Lutz


php::bar PHP Wiki   -   Listenarchive