Fiffi: Zwei Array,s zu einem

Beitrag lesen

Lieber Tom,
danke für deine Hilfestellung.

function result_cmp($_a, $_b)
{
    if ($_a['punkte'] > $_b['punkte']) return 1;   ## A ist > als B

if ($_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