如何通过两个键对多维数组进行排序

How to sort a multidimensional array by two keys

我有以下数组。 我如何先按 tabelle_punkte 排序,然后按 tabelle_tore 排序?

我尝试使用 usort,但不确定如何使用它。

有小费吗?

Array
(
    [0] => Array
        (
            [tabelle_id] => 113
            [tabelle_mannschaft] => 21
            [turnier_id] => 168
            [tabelle_runde] => vorrunde
            [tabelle_gruppe] => A
            [tabelle_platz] => 1
            [tabelle_spiele] => 1
            [tabelle_tore] => 2
            [tabelle_gegentore] => 2
            [tabelle_punkte] => 1
        )

    [1] => Array
        (
            [tabelle_id] => 114
            [tabelle_mannschaft] => 1
            [turnier_id] => 168
            [tabelle_runde] => vorrunde
            [tabelle_gruppe] => A
            [tabelle_platz] => 1
            [tabelle_spiele] => 2
            [tabelle_tore] => 2
            [tabelle_gegentore] => 2
            [tabelle_punkte] => 3
        )
)

可能是这样的:

usort($your_array, function($a, $b){
    if($a['tabelle_punkte'] == $b['tabelle_punkte']){
        if($a['tabelle_tore'] == $b['tabelle_tore'])
             return 0;
        else if($a['tabelle_tore'] < $b['tabelle_tore'])
             return -1;
        else
             return 1;
    }
    else if($a['tabelle_punkte'] < $b['tabelle_punkte'])
        return -1;
    else return 1;
});