Mailinglisten-Archive |
"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