Mailinglisten-Archive |
Norbert Pfeiffer schrieb: > Hi Lutz, > >>Ich hoffe, dass das "Problem" damit erschoepfend behandelt ist. :-) > > mitnichten, > > - eine Sortierung muss bei gleichen Parametern _immer_ das gleiche > Ergebnis auswerfen, egal wieviele shuffle(); irgendwo eingebaut > werden. Sonst ist es irgendwas, aber keine Sortierungsfunktion. tut es eindeutig!!! wenn natürlich zwei Werte identisch sind wird wohl _jede_ Sortier-Routine diese zwei Werte in der Original Reihenfolge belassen, diese kann natürlich durch zuvorige Shuffle unterschieldich sein, wenn aber die Sortierroutine bloß zwei Werte erhält die identisch sind osrtiert es da natürlich nichts um, das funktioniert also genau so wie es soll und man es erwartet! > - es ist hirnrissig, fuer eine Sortierungsfunktion eine andere > Daten-Struktur, als die 'natuerliche', zu fordern. > Unter 'natuerlicher Daten-Struktur' verstehe ich eine Struktur, > wie sie z.B. MySQL bei einem Select uebergibt: > $ERG[$reccord][$fields] array_multisort() ist dazu gedacht, wie eindeutig aus all den Benutzer-Beispielen hervorgeht, mehrdimensionale Arrays zu sortieren und genau dafür funktioniert es auch einwandfrei. Wenn diese ähnlich einer Tabelle aufgebaut sind kann man das so lösen: a b c d e f g h i 1 . . . . . . . . . 2 . . . . . . . . . 3 . . . . . . . . . 4 . . . . . . . . . 5 . . . . . . . . . 6 . . . . . . . . . 7 . . . . . . . . . 8 . . . . . . . . . $array[1]['a'] $array[1]['b'] $array[1]['c'] ... $array[2]['a'] ... $array[3]['a'] ... das ist auch genau das was man z. B. durch: while ( $row[] = mysql_fetch_assoc() ) {} erhält, und dafür verwendet man dann array_multisort(): // sortiere nach i foreach ( $array as $value ) { $sort_array[] = $value['i']; } array_multisort( $sort_array, $array ); Genau so steht das auch bereits bei den Benutzerbeiträgen. > Das Problem ist IMHO erschoepfend behandelt, wenn das Beispiel > sowohl fuer usort(); als auch fuer array_multisort(); ein immer > konstantes Ergebnis auswirft, _mit_ eingebautem shuffle(); Tut es doch, zeig mir doch Bitte endlich mal wo array_multisort(), richtig verwendet, dies nicht tut? > Super waere es dann auch noch, wenn die Erkenntnisse daraus in > das aktuelle Manual einfliessen wuerden. Wir machen hier ja > keinen 'persoenlichen' Hick-Hack - glaube ich ... :) Also ich habe alle meine Erkenntnisse aus dem Handbuch. -- Sebastian Mendel www.sebastianmendel.de www.warzonez.de www.tekkno4u.de www.nofetish.com www.sf.net/projects/phpdatetime www.sf.net/projects/phptimesheet
php::bar PHP Wiki - Listenarchive