![]() |
[php] array nach meherern kriterien sortieren
moin moin
ich habe folgendes Array:
Code:
bis jetzt sortieren ich so:
$teams[0][punkte] = 12;
$teams[0][tordif] = 2; $teams[1][punkte] = 12; $teams[1][tordif] = 4; $teams[2][punkte] = 16; $teams[2][tordif] = -1;
Code:
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?
function multisort($a, $b)
{ if ($a[punkte] == $b[punkte]) return 0; return ($a[punkte] < $b[punkte]) ? -1 : 1; } usort ($teams, "multisort"); Gruß fcg |
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: |
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 13:07 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz