Используя 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. Как отсортировать ассоциативный массив?”»
Thanks for the information