Axel Richter: Zeidimensionales Array nach zwei Spalten sortieren

Beitrag lesen

Hallo

Name;Vorname;Runden;Totalpunkte;Bestwert;Datum
Das Sortieren nach nur einer beliebigen Spalte (z.B. nach Totalpunkte) ist soweit problemlos:

Wie aber kann ich am besten/einfachsten die Sortierung nach zwei Spalten vornehmen, also z.B. zuerst nach Totalpunkte und bei Gleichheit von zwei Werten zusätzlich nach Datum oder Name

Wo ist das Problem?

function compare($x, $y)
    {
    if ($x[3] == $y[3]) return 0;

^Hier weißt Du, dass die Werte für Totalpunkte gleich sind. Nun gibst Du nicht 0 zurück, sondern vergleichst weiter.

else
      if ($x[3] < $y[3]) return -1;
      else return 1;
    };
  usort ($array, 'compare');

viele Grüße

Axel