SteveBo Geschrieben 5. September 2003 Teilen Geschrieben 5. September 2003 Ich habe mal folgendes Array mit Strings gefüllt und sie JustForFun mal mit dem Parameter SORT_NUMERIC sortiert. <?php $q = array(1=>'A',2=>'B',3=>'C',4=>'D',5=>'E',6=>'F',7=>'G',8=>'H',9=>'I',10=>'J', 11=>'K',12=>'L',13=>'M',14=>'N',15=>'O',16=>'P',17=>'Q',18=>'R',19=>'S',20=>'T' ); asort($q,SORT_NUMERIC); print_r($q) ?>[/PHP] Die Ausgabe verwirrt mich jedoch sehr: Array ( [b][11] => K[/b] [2] => B [3] => C [4] => D [5] => E [6] => F [7] => G [8] => H [9] => I [10] => J [b][1] => A [/b][12] => L [13] => M [14] => N [15] => O [16] => P [17] => Q [18] => R [19] => S [20] => T ) Wieso sortiert mir die Funktion die Werte so komisch. Hätte erwartet das er anhand der ASCII-Wertigkeiten sortiert und nich die [b]MITTE[/b] mit dem [b]ANFANG[/b] tauscht. Wenn man Arrays kleiner gleich 8 hat wird übrigens immer immer der [b]ERSTE[/b] Wert im Array zum [b]LETZTEM[/b]. Kann hier irgendein Spezi das Mysterium aufklären oder zumindest ne Vermutung abgeben? Ist das ein Bug oder ein Feature? Gruß SteveBo:beagolisc Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kills Geschrieben 5. September 2003 Teilen Geschrieben 5. September 2003 den gewünschten effekt solltest du mit folgendem code erzielen: asort ($array); [/PHP] manual sagt: Sorting type flags: SORT_REGULAR - compare items normally SORT_NUMERIC - compare items numerically SORT_STRING - compare items as strings Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
SteveBo Geschrieben 8. September 2003 Autor Teilen Geschrieben 8. September 2003 Danke, aber das ist mir schon klar, wie ich mir diese "Strings" richtig sortieren könnte. Aber es ist nun mal sehr Merkwürdig das er bei "SORT_NUMERIC" überhaupt keine erkennbare Logik verfolgt. Ich hätte vermutet, dass die Funktion A-Z und dann a-z sortiert oder Umgekehrt, weil er nach den dezimalen Werten in der ASCII-Tabelle geht. Aber leider sortiert er wider jeder mir ersichtlichen Logik. Oder ist das gut wenn man die Mitte/das Ende mit dem ersten Wert tauscht? Folge: Meine Frage steht noch im Raum. Weiß jemand die Antwort? Gruß SteveBo:confused: Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.