Är inte riktigt säker på att jag förstår frågan rätt, men.. Nu vet jag inte var $adjustment är / gör, men jag tycker att uträkningen ser rätt statisk ut? Det jag tänkte var att det kanske går lägga in datan i databasen när den skapas / uppdateras? Dvs att du lägger till ett fält där du sparar $final i databasen, och sen helt enkelt kör "ORDER BY <final-fältet här> DESC" i sql-queryn?
Annars är väl det enklaste att köra usort() på arrayen. Då får du ange en egen compare-funktion, så med den borde det inte vara något problem att sortera på.. tja.. vad du vill