Сделал рабочий вариант:
// Порядок сортировки
$sort_type_autor = 'ASC';
$sort_type_price = 'ASC';
for($i = 0; $i<count($books); $i++) {
// Массив ключ-значение для array_multisort
$sort_autor[$i] = $books[$i]['autor'];
// Сортируем по ценам в каждом товаре
foreach($books[$i]['prices'] as $k=>$v) {
switch($sort_type_price) {
case 'DESC':
arsort($books[$i]['prices']);
break;
case 'ASC':
asort($books[$i]['prices']);
break;
}
}
}
// Сортируем по авторам
switch($sort_type_autor) {
case 'DESC':
array_multisort($sort_autor, SORT_DESC, $books);
break;
case 'ASC':
array_multisort($sort_autor, SORT_ASC, $books);
break;
}
Возможно бывает более "элегантное" решение?