Come supponevo sin dall'inizio il php ci viene incontro per risolvere questi problemi con un afunzione apposita.

Dunque ignora quello che ho scritto sopra e guarda qui:
http://it.php.net/manual/it/function...-multisort.php

troverai che
la funzione array_multisort() può essere usata per ordinare parecchi array allo stesso tempo, oppure un array multidimensionale, rispetto a una o più dimensioni.
Esempio 1:
codice:
<?php
$ar1 = array("10", 100, 100, "a");
$ar2 = array(1, 3, "2", 1);
array_multisort($ar1, $ar2);
?>
In questo esempio, dopo l'ordinamento, il primo array conterrà "10", "a", 100, 100. Il secondo array conterrà 1, 1, "2", 3. Gli elementi nel secondo array che corrispondono agli elementi identici nel primo array (100 e 100) vengono pure ordinati.

Leggi bene la pagina nel link che ti ho indicato.
Ciao