Ordenando arrays por um índice no PHP

O PHP possui algumas funções nativas para ordenamento de arrays simples, mas e se for preciso ordenar por um índice específico em um array um pouquinho mais complexo? Pra esses casos existe a função usort. O que ela faz é ordenar um vetor utilizando uma função comparativa personalizada. Por exemplo, supondo que temos um array de um ranking, que registra o nome e os pontos dos competidores. Pra ordenar pelo índice ‘pontos’, basta criar uma função para comparar os valores de dois cadastros diferentes e passá-la como parâmetro da função usort (note que o nome é passado como string).

function ordenaPontos( $a, $b ) {
    if ( $a['pontos'] == $b['pontos'] ) {
        return 0;
    }
    return ( $a['pontos'] < $b['pontos'] ) ? -1 : 1;
}
$ranking = array(
    0 => array( 'nome' => 'Davi', 'pontos' => 2 ),
    1 => array( 'nome' => 'Letícia', 'pontos' => 4 ),
    2 => array( 'nome' => 'Francisco', 'pontos' => 1 ),
    3 => array( 'nome' => 'Cecília', 'pontos' => 3 ),
)
usort( $ranking, 'ordenaPontos' );

No exemplo acima, preste atenção em uma outra pequena dica: eu sempre costumo deixar uma vírgula no último índice do array. Isso evita esquecê-la quando é adicionado um novo registro.