Trier le tableau et conserver les valeurs des clés

J'ai un tableau qui ressemble à ceci:

Array
(
    [team1] => Array
        (
            [points] => 10
            [players] => Array
                (
                     ...
                )
        )

    [team2] => Array
        (
            [points] => 23
            [players] => Array
                (
                     ...
                )
        )

    ... many more teams
)

et je voudrais trier les équipes de par le nombre de points de chaque équipe. J'ai essayé ceci:

function sort_by_points($a,$b)
{
    if ($a['points']==$b['points']) return 0;
        return ($a['points']<$b['points'])?1:-1;
}

usort($this->wordswithdata, "sortbycount");

Mais cette approche remplace les clés contenant le teamnames et retours:

Array
(
    [0] => Array
        (
            [points] => 23
            [players] => Array
                (
                     ...
                )
        )

    [1] => Array
        (
            [points] => 10
            [players] => Array
                (
                     ...
                )
        )

    etc...
)

Est-il un moyen pour trier le tableau sans écraser la teamnames comme le tableau de clés?

source d'informationauteur acrmuui