phpbar.de logo

Mailinglisten-Archive

[php] multidimensionaler Array

[php] multidimensionaler Array

Lutz Zetzsche Lutz.Zetzsche at sea-rescue.de
Don Jul 27 14:09:19 CEST 2006


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