salve, ho questo array

Codice PHP:
$elenco[] = array('nome' => 'matteo''messaggi' => 2);
$elenco[] = array('nome' => 'luigi''messaggi' => 6);
$elenco[] = array('nome' => 'alberto''messaggi' => 5);
$elenco[] = array('nome' => 'piero''messaggi' => 1); 
che poi mostro con

Codice PHP:
foreach($elenco as $value) {
echo 
"".$value['nome'].": ".$value['messaggi']."
\n"
;

non riesco ad ordinarli per 'messaggi'. ho risolto invertendo le chiavi e ordinando con rsort($elenco):

Codice PHP:
$elenco[] = array('messaggi' => 2'nome' => 'matteo');
$elenco[] = array('messaggi' => 6'nome' => 'luigi');
$elenco[] = array('messaggi' => 5'nome' => 'alberto');
$elenco[] = array('messaggi' => 1'nome' => 'piero'); 

come faccio a decidere con rsort($elenco) cosa ordinare?
in genere mi ordina il primo valore (in modo decrescente voluto da me), ovvero i messaggi (e infatti ho ordinato invertendo l'array), ma se avessi voluto ordinare per il valore 'nome'??


grazie mille