phpbar.de logo

Mailinglisten-Archive

[php] multidimensionaler Array

[php] multidimensionaler Array

Sebastian Mendel lists at sebastianmendel.de
Don Jul 27 16:03:21 CEST 2006


G.Wendebourg schrieb:
> Sebastian Mendel schrieb:
>> G.Wendebourg schrieb:
>>   
>>> [...]
>>>
>>> Wie kann ich etwa einen Array mit 4 Feldern (zb. Name, eMail, Ort,
>>> Telefon, Datum) und einer beliebigen Anzahl Elementen ueber eine
>>> Schleife befuellen / etablieren ?
>>>     
>> $data = array();
>> for/if/while ... {
>>     $data[] = array(
>>         'name'  => $result[0],
>>         'email' => $result[1],
>>         'ort'   => $result[2],
>>     )
>> }
>>   
> Danke. Damit funktioniert der Aufbau des Arrays.  Allerdings s.u.
>>> soll anschliessend  nach einem der Felder sortiert werden koennen,
>>> um dann eine entsprechende Ausgabe zu realisieren.
>>> Wie wuerde dann der anschliessende Befehl fuer den Sortiervorgang (zb.
>>> nach "Ort") aussehen?
>>>     
>> 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?

ja, und zwar so wie ich oben beschrieben hatte


> 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?

http://www.phpbar.de/w/Multidimensionales_Array_sortieren


-- 
Sebastian Mendel

www.sebastianmendel.de

php::bar PHP Wiki   -   Listenarchive