Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   [php] array nach meherern kriterien sortieren (https://www.delphipraxis.net/33823-%5Bphp%5D-array-nach-meherern-kriterien-sortieren.html)

fcg 13. Nov 2004 09:21


[php] array nach meherern kriterien sortieren
 
moin moin

ich habe folgendes Array:

Code:
 $teams[0][punkte] = 12;
 $teams[0][tordif] = 2;

 $teams[1][punkte] = 12;
 $teams[1][tordif] = 4;

 $teams[2][punkte] = 16;
 $teams[2][tordif] = -1;
bis jetzt sortieren ich so:

Code:
  function multisort($a, $b)
    {
      if ($a[punkte] == $b[punkte]) return 0;
     return ($a[punkte] < $b[punkte]) ? -1 : 1;
    }
   usort ($teams, "multisort");
Allerdings möchte ich nun die sortierung erweitern, das wenn die Pukte gleich sind, nach der Tordif. sortiert wird. Wie mache ich das am besten?

Gruß
fcg

MarcusB 13. Nov 2004 10:13

Re: [php] array nach meherern kriterien sortieren
 
Ich hatte mal eine ähnliche Problematik (war ein Bundesligatippspiel).

Ich habe diese dann so umgangen, dass ich die Daten schon per SQL-Abfrage vorsortiert habe (ORDER BY).
Somit habe ich mein Array dann schon schön vorsortiert bekommen.

Vielleicht hilft Dir es :hi:

himitsu 13. Nov 2004 10:50

Re: [php] array nach meherern kriterien sortieren
 
Du brauchst nur für die Ausgabe "Punkte sind gleich" nochmal soeine Auswertung (wie du schon hattest) einsetzten.

Code:
  function multisort($a, $b)
    {
      if ($a["punkte"] == $b["punkte"])
        {
          if ($a["tordif"] == $b["tordif"]) return 0;
          return ($a["tordif"] < $b["tordif"]) ? -1 : 1;
        }
      return ($a["punkte"] < $b["punkte"]) ? -1 : 1;
    }

   usort ($teams, "multisort");

PS: sind "punkte" und "tordif" igendwelche Konstenten (sieht jedenfalls nicht so aus), also wenn es keine sind, dann sollte(muß) diese Angabe in ', oder " eingeschloßen werden.
Code:
$var["punkte"]
$var["tordif"]


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:27 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz