phpbar.de logo

Mailinglisten-Archive

[php] PHP Handling CSV ohne DB

[php] PHP Handling CSV ohne DB

Ulf Wendel ulf_(at)_redsys.de
Sun, 04 Jun 2000 22:30:17 +0200


"Christoph M. Schönian" wrote:
> Was mache ich nur falsch,
> dass ich noch nie eine Antwort auf meine Fragen erhalten habe ?
> Nu denn - einen weiteren Versuch!

Du machst nichts falsch, außer das Du eine Lösung verlangst die mehr als
1 Minute Tipparbeit erfordert.

> 1. sortieren und 2. durchsuchen können, die mir u.a. eine gesuchte
> PLZ ausgibt und falls nicht vorhanden, die 5-6 nächstgelegenen.

Das Problem was Du hast, ist ein mehrdimensionales Array nach einer
einzelnen "Spalte" zu sortieren und dabei die Ordnung zu erhalten. Dies
kann nicht mit den vorhandenen Funktionen bewerkstelligt werden.

Du mußt die Daten also zunächst in eine passende Form bringen, bevor die
Sortierung vorgenommen werden kann. PHP kann einfache Arrays sortieren.
Diese Arrays haben die Form:

$data[ key ] = value

Du hast etwas wie:

$data[ key ][ id   ] = 123
$data[ key ][ name ] = christoph
[...]

Der erste Schritt vor der Sortierung ist also die Überführung in eine
neue Form. Vorraussetzung für alle folgenden Operationen ist, daß alle
Datensätze eine eindeutige ID haben (künstlich oder natürlich ist egal). 

$data = array();
$take = "name";

reset($fulldata);
while (list($id, $singledata)=each($fulldata)) 
 $data[$id] = $singledata["name"];

$data hat jetzt die Form:

$data [ id ] = christoph
[...]

Auf ein derartiges Array kannst die diversen Sortierungsfunktionen von
PHP anwenden, z.B. http://www.php.net/manual/function.asort.php

Jetzt hast Du bereits die richtige Reihenfolge und der Rest ist
trivial...

Ulf


php::bar PHP Wiki   -   Listenarchive