PHP - Сортировка многомерного массива числовых массивов

avatar
fractal5
8 августа 2021 в 17:06
37
1
-2

У меня есть массив:

$arr = [
    [4,6],
    [1,2,3],
    [7,8,9] 
];

Я хочу отсортировать его так, чтобы результат был

$arr = [
    [1,2,3],
    [4,6],
    [7,8,9] 
];

Если я применяю sort($arr), он сначала сортирует по длине массива, а затем сравнивает значения. Итак, я получаю

$arr = [
    [4,6],
    [7,8,9],
    [1,2,3],
];

что неверно для моих целей.

Я мог бы использовать алгоритм сортировки для сравнения элементов.

Или я мог бы создать другой массив, в котором каждый элемент был бы схлопнут, а затем отсортировать его.

Но интересно, есть ли встроенный или более быстрый способ получить это?

Спасибо

Источник

Ответы (1)

avatar
Jordan Casey
8 августа 2021 в 17:15
0

Вы можете использовать rsort(), чтобы получить ожидаемый заказ.

fractal5
8 августа 2021 в 17:41
0

Спасибо, но rsort() не будет работать, если у меня [7,8,9]. Мой тесткейс слишком идеален, поэтому я обновлю его.