WebWork Magazin - Webseiten erstellen lassen, Online Medien, html

Webhoster, Webhosting Provider und Domain registrieren

Home | Registrieren | Einloggen | Suchen | Aktuelles | GSL-Webservice | Suleitec Webhosting
Reparatur-Forum | Elektro forum | Ersatzteilshop Haushalt und Elektronik


Homepage und Webhosting-Forum

Scripte und Programme für PHP, MYSQL. Diskussionen zur Programmierung im Web. Fragen zu CMS, Blogsoftware, Shops, Newsletter und vielen weiteren Scripten.


Forum » PHP & MySQL » Array sortieren mit usort » Antworten
Benutzername:
Passwort: Passwort vergessen?
Inhalt der Nachricht: Fett | Kursiv | Unterstrichen | Link | Bild | Smiley | Zitat | Zentriert | Quellcode| Kleiner Text
Optionen: Emailbenachrichtigung bei Antworten
 

Die letzten 5 Postings in diesem Thema » Alle anzeigen
von FrediL
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
von FrediL
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

Nach oben