Multidimensionales Array sortieren

Servus,

ich bin grad auf dieses Thema gestossen und es hilft mir auch weiter.
Allerdings verstehe ich die Funktion garnicht, bzw. die letzte Zeile
der cmp function mit dem "? - 1 : 1".
Hab grad mal bei google nach "+usort +cmp +erklärung" und ähnlichem
gesucht, aber bin icht fündig geworden.
Hat einer evtl. einen Link oder kann mir die Zeile kurz erläutern?
Ich würd gerne verstehen, was ich da eigentlich benutze.

Danke, Hannes


PHP:
 function cmp ($a, $b) {
    //Auf Gleichheit prüfen:
    if ($a[0]==$b[0]) {
        return 0;
    }
    //Zur Sicherheit noch mal geklammert,
    //ist aber glaube ich nicht nötig:
    return (($a[0] < $b[0]) ? -1 : 1);
}

usort ($array_gesamt, "cmp");
 
Dabei handelt es sich um den ternären Operator oder auch Konditionaloperator, eine Möglichkeit, bestimmte if-else-Abfragen kürzer zu schreiben.
Die letzte Zeile der Funktion könnte man auch so schreiben:
PHP:
if ($a[0] < $b[0]) {
    return -1;
} else {
    return 1;
}
Siehe auch SelfPHP

Gruß hpvw
 
Zurück