2Danke
ERLEDIGT
JA
JA
ANTWORTEN
3
3
ZUGRIFFE
240
240
EMPFEHLEN
-
Ich versuche eine Sortierung zu machen, so wie Windows das schon länger macht, sprich Buchstaben ohne Beachtung von gross/klein und Zahlen nach Wert.
Beispiel:
123Test123
9Test123
123Test9
9Test9
Soll sortiert so aussehen
9Test9
9Test123
123Test9
123Test123
Gibt es dafür eine fertige Funktion, oder eine Stück Code dazu?
-
25.01.12 12:43 #2
Dafür kannst du z.b. sort(); verwenden.
http://php.net/manual/en/function.sort.php
-
array_multisort().
Zuerst ein Sortierarray erstellen indem du alle Strings mit strtoupper() in in Grossbuchstaben wandelst.
Dann mit array_multisort() den Sortierarray sortieren und den eigentlichen Stringarray mitsortieren lassen (mehr darüber in der Doku zu array_multisort())
Ausgabe:PHP-Code:$strings[] = '123test123';
$strings[] = '9Test123';
$strings[] = '123Test9';
$strings[] = '9test9';
//Array-Kopy mit Grossbuchstabenwandel
$sort = array_map('strtoupper', $strings);
//Sortieren nach dem Grussbuchstabenarray, der eigentliche Array wird mitsortiert
array_multisort($sort, SORT_DESC, $strings);
print_r($strings);
Code :1 2 3 4 5 6 7
Array ( [0] => 9test9 [1] => 9Test123 [2] => 123Test9 [3] => 123test123 )
Nachtrag: @Starfox2007
rsort() (oder sort() für aufsteigend) führt nicht zum gewünschten Resultat. Gross und Kleinbuchstaben werden unterschiedlich gewertet.
Code :1 2 3 4 5 6 7
Array ( [0] => 9test9 [1] => 9Test123 [2] => 123test123 [3] => 123Test9 )
Nachtrag II:
Man könnte auch mit usort() eine eigene Sortierfunktion schreiben, die zuerst die Werte in Grossbuchstaben wandelt und dann vergleicht. Ich finde die array_multisort() aber eleganter
Nachtrag III:
natcasesort() ist auch eine möglichkeit. Wertet aber9Test kleiner als 123Test, da die Zahlen als 9 mit 123 verglichen werden...---------------------------------------------------------------------------------------------------
item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
item: Tutorial: [PHP][MySQL] Debug Queries
item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben
-
Vielen Dank, das hilft mir weiter.
Ähnliche Themen
-
2 große Strings sortieren und zusammenfügen
Von starfoxfs im Forum PHPAntworten: 4Letzter Beitrag: 26.01.09, 13:06 -
Strings sortieren
Von Thomasio im Forum C/C++Antworten: 5Letzter Beitrag: 06.12.07, 02:17 -
Sortieren von Strings
Von keydo im Forum C/C++Antworten: 1Letzter Beitrag: 19.11.07, 13:51 -
Strings in SQL sortieren
Von nitrane im Forum Relationale DatenbanksystemeAntworten: 8Letzter Beitrag: 24.06.07, 17:28 -
Set bestehend aus Strings sortieren
Von wSam im Forum JavaAntworten: 3Letzter Beitrag: 27.02.07, 19:04





Zitieren

Login






[PHP][Snippet] Array zu XML konvertieren