Array sortieren und darstellen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Array sortieren und darstellen

    Hallo,
    ich lasse mir mit folgendem Skript Spieler-Punkte-Paare nach den Punkten sortieren und dann in der Reihenfolge ausgeben:

    PHP-Code:
    $sortiert = array ("$spieler1"=>"$punkte1""$spieler2"=>"$punkte2""$spieler3"=>"$punkte3""$spieler4"=>"$punkte4");
    arsort ($sortiert);
    reset ($sortiert);
    $r=1;
    while (list (
    $key$val) = each ($sortiert)) {
                    echo 
    "$key = $val\n";
        
    $player "player".$r
        $
    $player $key
        
        
    $points "points".$r
        $
    $points $val

        
    $points=$val;
        
    $player=$key;

        
    $r++;

    Es klappt auch wunderbar sobald die Punkte-Variablen größer als 0 sind. Sobald jedoch der Wert für eine Punktevariable gleich 0 ist, stimmt es nicht mehr.
    Beispiel: bei 2 Spielern, einer mit dem Punktewert 0, der andere mit dem Punktewert 20, erhalte ich für den Befehl echo "$key = $val\n"; folgende Ausgabe:
    name1 = 20
    = 0
    name2= 0
    Also irgendwie habe ich in der "Mitte" eine Zeile (=0) zuviel. Woran kann das liegen?
    Vielen Dank im Voraus!

  • #2
    Also bei mir klappts mit dem Code?!

    Ausgabe:

    spieler4 = 9
    spieler3 = 8
    spieler1 = 3
    spieler2 = 0

    PS: die Doppel $ sind in Zeile 8 und 11 nicht gewollt oder? Und warum arbeitest nicht mit foreach? dann sparst dir den zähler r=1...

    Kommentar

    Lädt...
    X