Sortieren mehrdimensionaler Arrays

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

  • Sortieren mehrdimensionaler Arrays

    Hallo ihr lieben Helferlein

    ich weiß, dass es das Thema schon einige Male gibt. Ich hab soweit alle gelesen und auch die entsprechenden Funktionen probiert. Irgendwie funktioniert es nicht und so allmählich bin ich an nem Punkt angelangt wo ich nur noch verzweifel

    Kurz zum Hintergrund meines Anliegens.
    Ich möchte eine Liga-Tabelle anhand von vielen Spielergebnissen erstellen. Das Zusammenzählen der Ergebnisse funzt soweit einwandfrei. Auch das Ausgeben der ganzen Daten entsprechend zugeordnet zum Team funktioniert. Das Problem liegt jetzt nur noch beim ordnen.

    Der Code für die unsortierte Ausgabe sieht wie folgt aus:

    PHP-Code:
    for($a $a 15 $a++)
        {
        echo 
    " S: ".$daten[$a][won]." U: ".$daten[$a][draw]." N: ".$daten[$a][loss]." Point: ".$daten[$a][points];
        echo 
    "<br>";
        } 
    Die VAR $a entspricht dabei der Zuordnung des jeweiligen Teams.

    Das Sortieren sollte nun mit folgendem Code funktionieren

    PHP-Code:
    foreach($daten as $res)
        {
        
    $sortasc[] = $res[$a]['points'];
        
    $sortasc2[] = $res[$a]['won'];
        }    
    $datenT array_multisort($sortascSORT_DESC,$sortasc2SORT_DESC$daten); 
    Wenn ich die Ausgabe nun innerhalb der for-schleife mache, ist sie weiterhin unsortiert. Eigentlich logisch. Wenn ich es aber außerhalb der for-schleife mache, erhalte ich keine bzw. ne fehlerhafte ausgabe (die da lautet: guck dich die funktion array_multisort an )
    hab noch einiges probiert, bin aber zu keinem ergebnis gekommen ... deshalb mal an alle ... HILFE

    wo muss der 2.code (foreach) ausgeführt werden ... in meiner for-schleife oder außerhalb ?

  • #2
    Die Informationen sind ein wenig dürftig. Gib mal beispielhaft den Inhalt von $sortasc und $sortasc2 an, sowie das gewünschte Ergebins ($datenT).
    Ansonsten kann ich nur auf http://php.net/array_multisort verweisen.

    Kommentar


    • #3
      ich konnte irgendwie nich antworten, deshalb erst jetzt die antwort
      btw: das problem hat sich inzwischen gelöst. habs selbst heraus bekommen.

      richtig heißen muss das ganze:

      zum sortieren:
      PHP-Code:
      foreach($daten as $res)
          {
          
      $sortasc[] = $res['points'];
          
      $sortasc2[] = $res['won'];
          }    
      array_multisort($sortascSORT_DESC,$sortasc2SORT_DESC$daten); 
      und dann anschließend zum auslesen
      PHP-Code:
      for($a $a 14 $a++)
          {
          echo 
      " S: ".$daten[$a][won]." U: ".$daten[$a][draw]." N: ".$daten[$a][loss]." Point: ".$daten[$a][points];
          echo 
      "<br>";
          } 
      jetzt werden die neu sortieren daten so ausgegeben wie ich sie haben will ... toll ne

      Kommentar

      Lädt...
      X