Sortowanie tablic wielowymiarowych

0

Witam
mam problem sortowanie tablicy wielowymiarowej.

array(5) { 
[0]=> array(3) { ["gracz_1"]=> string(2) "28" ["gracz_2"]=> string(2) "11" ["dataGry"]=> string(10) "2015-01-01" } 
[1]=> array(3) { ["gracz_1"]=> string(2) "28" ["gracz_2"]=> string(2) "13" ["dataGry"]=> string(10) "2015-01-06" } 
[2]=> array(3) { ["gracz_1"]=> string(2) "28" ["gracz_2"]=> string(2) "14" ["dataGry"]=> string(10) "2015-01-03" } 
[3]=> array(3) { ["gracz_1"]=> string(2) "28" ["gracz_2"]=> string(2) "21" ["dataGry"]=> string(10) "2015-01-05" } 
[4]=> array(3) { ["gracz_1"]=> string(2) "28" ["gracz_2"]=> string(2) "29" ["dataGry"]=> string(10) "2015-01-11" } 
[5]=> array(3) { ["gracz_1"]=> string(2) "28" ["gracz_2"]=> string(2) "30" ["dataGry"]=> string(10) "2015-01-07" } 
}

jest jakaś metoda która posortowała by tą tablice po "dataGry" ?

0

usort i własna funkcja sortująca

masz gotowca, z którego korzystam bo mam dobry dzień.
funkcja działa na referencji, więc nie potrzebujesz używać przypisania $twoja_tablica = sortByKey(...)
drugi parametr oznacza kierunek sortowania, 'ASC' - rosnąco, cokolwiek innego - malejąco

function sortByKey(&$arr, $mode='ASC', $key) {
        if (is_array($arr) && $arr) {
            usort($arr, function($a, $b) use($key, $mode) {
                if (strtoupper($mode==='ASC')) {
                    return $a[$key] < $b[$key] ? -1 : 1;
                }
                else { return $a[$key] < $b[$key] ? 1 : -1; }
            });
        }
        return $arr;
    }

sortByKey($twoja_tablica, 'ASC', 'dataGry');
0

Dzięki wielkie :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1