Einfache Möglichkeit zum Sortieren nach Wörterbuch

rellek

relativ sensationell
Teammitglied
Tach!

Wie ihr sicher wisst, haben wir ja auf der Startseite eine Chat-User-Anzeige. Diese ist eine Liste gewesen (ein String, mit Komma getrennt). Das Komma habe ich dann als Trennzeichen genommen und in ein Array gepackt. Danach kam der sort()-Befehl und dann wirds wieder ein String.
Soweit alles prima. Aber, sort() sortiert nach Quicksort, das Zahlen sortiert und weil wir keine Zahlen sondern Zeichen haben, wird nach der ASCII-Tabelle sortiert. Dort kommen erst geschlossen die grossen Buchstaben, danach die kleinen. Deshalb kann eine solche Liste entstehen:
Chloe, Ghostmaster, Gokux, Malbaer, Markus, Shaun, Zollern, jd, knut, rellek

Wie ihr seht, sind diejenigen mit kleinem Nickname am Ende. Das ist unschön.

Preisfrage: Gibts eine vergleichsweise einfache Möglichkeit, diesen Umstand zu korrigieren?

Wenn nicht, ist denn irgendwo bekannt, welche Zeichen als Nutzernamen im IRC erlaubt sind? Das sind doch hoffentlich nicht alle, die mit UTF8 in Frage kämen (abzüglich ein paar Steuerzeichen wie \)?

Um Mithilfe wird gebeten ;)
Danke :)
 

rellek

relativ sensationell
Teammitglied
Öh?
Zollern, knut, Shaun, rellek, jd, Malbaer, Chloe, Markus, Gokux, Ghostmaster

knut und Chloe sind falsch... und sonst ists rückwärts. Jemand ne Idee? :D

PHP:
			$contents = explode('\\', $contents);
			$users = explode(',', $contents[1]);
			
			unset($users[count($users)-1]);
			
			natcasesort($users);
		
			$ul = '';
		
			for($i = 0; $i < count($users); $i++) {
			
				$ul .= $users[$i].', ';
			
			}
		
			$ul = substr($ul, 0, -2);
 

Nerdus

Halbgott in Schwarz
natcasesort() erhält die Schlüssel-Wert-Zuordnung innerhalb des Arrays, mit einer for-Schleife wirst du da nicht glücklich. Außerdem ist
PHP:
$ul = implode(', ', $users);
auch viel hübscher 8o
 

rellek

relativ sensationell
Teammitglied
Verdammt, zu viel C gemacht, die letzte Zeit ;)

Macht sort() das anders als natcasesort()? Weil mit sort() hat ers ja trotzdem (im Rahmen seiner Möglichkeit) richtig gemacht.
 

rellek

relativ sensationell
Teammitglied
Ahja, also genau so ein Schwachsinn wie ceil und floor, die float zurückgeben, obwohl garantiert eine ganze Zahl rauskommt...
 
Oben