sempre tornando sul conceto ordinato per "titolo":

l'array viene creato tramite una query che fa

select * from table order by titolo Desc

while ($row_categ = mysql_fetch_array($res_categorie)) {
$array_categorie[$row_categ['id']] = array('titolo'=>$row_categ['titolo'], 'livello'=>$row_categ['livello']);
}

cioè, sebbene gli id non siano ordinati, l'array ha questa sequenza (ordinato con ORDER BY titolo DESC) e facendo un foreach ottengo appunto:

$array_categorie[3] = array('titolo'=>'auto','livello'=>'');
$array_categorie[8] = array('titolo'=>'ducati','livello'=>'5');
$array_categorie[2] = array('titolo'=>'f40','livello'=>'3-1');
$array_categorie[1] = array('titolo'=>'ferrari','livello'=>'3');
$array_categorie[7] = array('titolo'=>'honda','livello'=>'5');
$array_categorie[5] = array('titolo'=>'moto','livello'=>'');
$array_categorie[9] = array('titolo'=>'nissan','livello'=>'3');
$array_categorie[10] = array('titolo'=>'pajero','livello'=>'3-9');
$array_categorie[6] = array('titolo'=>'rosso','livello'=>'3-1-2');

In pratica io dovrei riuscire a costruirmi l'array ordinato all'interno del while...