Laravel. Как отсортировать ассоциативный массив?


Используя Laravel у нас под рукой всегда есть удобный и короткий способ сортировки ассоциативного массива по одному из ключей. Ниже очень короткий пример решения этой задачи.

К примеру у нас есть массив вот такого вида:

$array = [
    [ 'id' => 1, 'name' => 'Item 1', 'count' => 10 ],
    [ 'id' => 2, 'name' => 'Item 2', 'count' => 20 ],
    [ 'id' => 3, 'name' => 'Item 3', 'count' => 15 ],
    [ 'id' => 4, 'name' => 'Item 4', 'count' => 5 ],
]

Этот массив мы хотим отсортировать по значению ключей count.

Для этого используем следующий код:

$array = collect($array)->sortBy('count')->reverse()->toArray();

Метод reverse() делает обратную сортировку — в итоге мы получим следующий порядок id:
— 2 (count = 20)
— 3 (count = 15)
— 1 (count = 10)
— 4 (count = 5)

Естественно, если reverse() не вызывать — сортировка будет по возрастанию:
— 4 (count = 5)
— 1 (count = 10)
— 3 (count = 15)
— 2 (count = 20)

Надеюсь статья была полезной для Вас! Удачи!

,

Один комментарий на «“Laravel. Как отсортировать ассоциативный массив?”»

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *