Mailinglisten-Archive |
>ich mache gerade meine ersten Gehversuche mit PHP(4). Ich habe eine >Textdatei, in der in jeder Zeile ein Adresse, durch ";" getrennte >Felder, steht. Ich lese die Datei mit "file" in Array ein.=20 Vielleicht solltest Du Dir mal fgetcsv() anschauen, das scheint hier sinnvoller >Nun m=F6chte >ich diese Adressen nach der Postleitzahl sortieren. Danach sollen sie >ausgegeben werden. Das habe ich mit "foreach ($array As $line)" und >ein paar "print" Anweisungen gel=F6st. >Kann mir jemand beim sortieren helfen? Am einfachsten ist es, wenn Du die Zeilen selbst in ein array zerlegst, also nach dem Einlesen foreach ($array as $zeile) $narray[] =3D explode(';', $zeile); Das kannst Du nun sortieren, z.B. mit usort, dazu brauchst Du eine Vergleichsfunktion: function plzcmp($a,$b)=20 {=20 return $a[3]=3D=3D$b[3] ? 0 : (int)$a[3]>(int)$b[3] ? 1 : -1; } wobei 3 die Spalte Deines PLZ-Feldes ist (Z=E4hlung beginnt mit 0) Dann kannst Du mit usort($narray, 'plzcmp'); Dein $narray nach der 3. (4.) Spalte numerisch sortieren lassen. Die Ausgabe ist dann=20 foreach ($narray as $azeile) echo join(';', $azeile)."<BR>\n"; oder so, jedenfalls sind die einzelnen Zeilen ja jetzt selbst arrays ... Alles klar? --=20 Thomas Beckmann, Kiel, Germany beckmann_(at)_gis.de
php::bar PHP Wiki - Listenarchive