jens: aus Textdatei auslesen und sortiren

Hallo PHP Welt,

ich habe ein Prob mit meiner Highscore, wie kann ich es in folgendem Script schaffen, dass die ausgelesen Punkte als integer behandelt werden und somit auch richtig sortiert werden. Im Moment wird noch nach dem String der Punkte sortiert also 9 wird vor 40 einsortiert.

if (file_exists("highscore.txt")) { // Wenn bereits eine Highscore existiert
  $Datei = fopen("highscore.txt","ab+"); // Öfnnen ...
  $Highscore = explode("%%",fgets($Datei,4096));  // ... und highscore in eine Liste einlesen
  fclose($Datei); // Datei schliessen.
  }
else { // Wenn noch keine Highscore existiert ...
  $Highscore = array(); // ... leere Liste anlegen ...
  for ($xx=0;$xx<10;$xx++) { // und 10 dummy-Einträge setzen.
    $Highscore[$xx] = "0% kein Eintrag";
    }
  }

$Highscore[10] = $points."%$name"; // Der neue Eintrag wird zunächst einfach hinten anghängt
rsort($Highscore); // Dann wird die Liste sortiert
unset($Highscore[10]); // und der letzte (hier Platz 11) gelöscht.

$Datei = fopen("highscore.txt","wb+");
$Daten = implode("%%",$Highscore);
fputs($Datei,$Daten,strlen($Daten));
fclose($Datei);

besten Dank für die Hilfe

Jens

  1. Hi Jens,

    irgendwie habe ich den Verdacht, dass Deine HiScore-Liste so überhaupt keinen Simm macht. Man müsste doch wenigstens den Zahlen-Wert mit einem Inhaber oder mit einem Verweis auf irgendetwas verknüpfen. Und da ergibt sich dann mindestens ein zweidimensionales Array, oder?

    Tom

  2. Hallo

    rsort($Highscore, SORT_NUMERIC); // Dann wird die Liste sortiert

    ^^^^^^^^^^^^
             Dann wird's auch was mit den Zahlen.

    Tschüß, Auge