Home | Registrieren | Einloggen | Suchen | Aktuelles


Forum » PHP & MySQL » Array sortieren mit usort Antworten
Array sortieren mit usort

FrediL
Fachidiot


Beiträge: 101


Hallo!

Ich habe ein Problem. Ich habe versucht ein Array zu sortieren. Dazu habe ich folgende Funktionen:

1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
15: 
16:
function sort_pkt ($a, $b)
  {
    if ($a["pkt"] == $b["pkt"]) return 0;
    return ($a["pkt"] > $b["pkt"]) ? -1 : 1;
  }
function sort_dif ($a, $b)
  {
    if ($a["dif"] == $b["dif"]) return 0;
    return ($a["dif"] > $b["dif"]) ? -1 : 1;
  }
function sort_ges ($a, $b)
  {
    if ($a["ges"] == $b["ges"]) return 0;
    return ($a["ges"] > $b["ges"]) ? -1 : 1;
}


Das ganze wird in folgender Reihenfolge aufgerufen:

1: 
2: 
3: 
4:
usort ($a_tabelle, "sort_ges");
usort ($a_tabelle, "sort_dif");
usort ($a_tabelle, "sort_pkt");


Das Array ist mehrdimensional und beinhaltet eine Fussballtabelle, die wie oben gezeigt nach Punkten, Tordifferenz und geschossenen Toren sortiert werden soll. Leider kommt es teilweise zu Unregelmäßigkeiten beim Sortieren.

Das Array hat folgende Dimensionen:
1: 
2: 
3: 
4: 
5: 
6: 
7:
$a_tabelle["name"]  //name der mannschaft
$a_tabelle["sp"]  //anzahl der spiele
$a_tabelle["pkt"] //punkte
$a_tabelle["dif"]  //Tordifferenz
$a_tabelle["ges"] //geschossene Tore
$a_tabelle["gef"] //gefangene Tore


Wieso wird das Array nicht richtig sortiert? BIn über jeden Hinweis dankbar. Auch genauere Erklärungen zum Thema usort, denn aus dem Manuell von PHP.net bin ich nicht unbedingt schlau geworden.

Vielen Dank im Voraus
FrediL

---
ergebniswelt.com -> Fußballergebnisse und mehr

Diese Nachricht wurde geändert von: FrediL
  Profil   Website   Editieren   Zitieren

FrediL
Fachidiot


Beiträge: 101


Prima!

Jetzt habe ich drei Tage nach ner Lösung gesucht und kaum habe ich hier gepostet, ist sie mir in die Hände gefallen. Wen es interessiert: http://www.tutorials.de/tutorials115141.html

Trotzdem Danke!
FrediL

---
ergebniswelt.com -> Fußballergebnisse und mehr

  Profil   Website   Editieren   Zitieren
 

Antworten
Nach oben