Сортировка многомерного массива по заданному полю

Как ни странно, но среди встроенных функций PHP не оказалось готовой для сортировки многомерного массива по полю. Пришлось для своих проектов написать.

Функция сортировки многомерного массива

/** сортирует многомерный массив по полю $field
* @param array &$ar
* @param string $field
* @param bool $desc =true, - по убыванию
* @return bool =true, если успешно
*/
function array_sort(&$ar, $field='id', $desc=false){
    return usort($ar, function($a, $b) use($field, $desc) {
        if($a[$field] === $b[$field])
            return 0;

        return ($a[$field] > $b[$field] ? 1 : -1)*($desc?-1:1);
        });
}

Если Вам не нужна универсальная фнкция, используйте аналог, который работает в любой версии PHP:

// Сортировка массива работает в старых версиях
usort($array, function($a, $b){
    if($a['age'] === $b['age'])
        return 0;

    return $a['age'] > $b['age'] ? 1 : -1;
});

Или вариант только для PHP 7:

usort($array, function($a, $b){
    return $a['age'] <=> $b['age'];
});

.