Mailinglisten-Archive |
Am Donnerstag, 27. Juli 2006 14:04 schrieb G.Wendebourg:
> Sebastian Mendel schrieb:
> > php.net/array_multisort
>
> Auf php.net hatte ich eine Loesung gefunden, die aber den Umbau des
> Arrays zur Voraussetzung machte und bei mir auch dann nicht
> funktionierte.
>
> Kann man nicht einen Array direkt so aufbauen, das er anschliessend
> sortierbar ist?
Genau. Das kann und sollte man. :-)
> PS
> Habe nun den Array so aufgebaut:
> while..{
> $adr_arr['mail'][]=$email;
> $adr_arr['name'][]=$name;
> $adr_arr['ort'][]=$ort;
> $adr_arr['datum'][]=$timestamp;}
>
> Wenn ich es nun aber versuche mit
> array_multisort ($adr_arr['datum'], SORT_NUMERIC, SORT_DESC );
>
> dann bekomme ich tatsaechlich das Datum sortiert, waehrend die
> uebrigen "Spalten" in ihrer Rangfolge verbleiben.
> Liegt das an falscher Syntax bei multisort oder am Aufbau des Arrays?
> Bzw. wie muesste das korrekt aussehen?
Wenn alle vier Arrays (= Spalten) in Beziehung zueinander sortiert
werden sollen, dann mußt Du sie alle in array_multisort() aufführen.
Also etwa so:
array_multisort ($adr_arr['datum'], SORT_NUMERIC, SORT_DESC,
$adr_arr['name'], SORT_STRING, SORT_DESC, $adr_arr['ort'], SORT_STRING,
SORT_DESC, $adr_arr['mail'], SORT_STRING, SORT_DESC);
Viele Grüße
Lutz
php::bar PHP Wiki - Listenarchive