Genau wie nookie sagte, für mich sieht es auch so aus als ob das alles richtig sortiert ist. Wenn du die daten in einer anderen Reihenfolge speichern willst, musst du diese auch so anordnen.
Und ich kann mir gerade nicht helfen, hat das @ in der if bedingung ne andere funktion oder dient es da...