Lieber Tom,
danke für deine Hilfestellung.
function result_cmp($_a, $_b)
{
if ($_a['punkte'] > $_b['punkte']) return 1; ## A ist > als Bif ($_a['punkte'] == $_b['punkte'])
{
if ($_a['anzahl'] > $_b['anzahl']) return 1; ## A ist > als B
if ($_a['anzahl'] == $_b['anzahl']) return 0; ## A ist == B
return -1; ## A ist < als B
}return -1; ## Es bleibt bur, dass A < B sein muss
}
Der Vorschlag klappt nicht, da mein Array diese Struktur hat:
Array
(
[ralf] => Array
(
[0] => 4
[1] => 11
)
[ziggi] => Array
(
[0] => 2
[1] => 13
)
[bobby] => Array
(
[0] => 4
[1] => 11
)
[willi] => Array
(
[0] => 1
[1] => 3
)
[Mika57] => Array
(
[0] => 1
[1] => 5
)
)
Das hab ich mir angesehen und bin noch verwirrter.
Das ist jetzt keine saubere Strukturierte Programmierung nach Nassi Shniderman,
http://de.wikipedia.org/wiki/Nassi-Shneiderman-Diagramm
Die Funktion lässt sich auch noch weiter zusammanfassen. Aber das kannst Du mal selber versuchen.Nun kannst Du diese Funktion in usort() http://www.php.net/manual/en/function.usort.php benutzen und hoffen, dass sie funktioniert ;-)
Jau, das hab ich versucht mit:
usort ($result,'result_cmp');
angewendet mit:
function result_cmp($_a, $_b)
{
if ($_a[1] > $_b[2]) return 1; ## A ist > als B
if ($_a[1] == $_b[2])
{
if ($_a[1] > $_b[2]) return 1; ## A ist > als B
if ($_a[1] == $_b[2]) return 0; ## A ist == B
return -1; ## A ist < als B
}
return -1; # Es bleibt nur, dass A < B sein muss
}
Nur ich bekomme dabei heraus:
Platz Name Punkte Turniere
gespielt
1 0 3 1
2 1 13 2
3 2 11 4
4 3 11 4
5 4 5 1
Tut mir leid wenn ich etwas daneben bin. Ich hab versucht deine Funktion auf mein Start-Array anzuwenden, bzw anzupassen.
Gruss Fiffi