РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
1043 of 1392 menu

Метод sortByDesc

Метод sortByDesc применяется к коллекции и возвращает новую коллекцию, отсортированную по убыванию. В качестве аргумента метод принимает имя ключа, по которому будет выполняться сортировка, либо callback-функцию, возвращающую значение для сравнения. Метод не изменяет исходную коллекцию, а возвращает новую отсортированную.

Синтаксис

<?php $collection = collect([...]); $sorted = $collection->sortByDesc($key); // или с callback $sorted = $collection->sortByDesc(function ($item) { return $item->$key; }); ?>

Пример

Отсортируем коллекцию чисел по убыванию:

<?php $arr = [3, 1, 4, 1, 5, 9, 2, 6]; $collection = collect($arr); $sorted = $collection->sortByDesc(function ($value) { return $value; }); $res = $sorted->values()->all(); print_r($res); ?>

Результат выполнения кода:

[9, 6, 5, 4, 3, 2, 1, 1]

Пример

Отсортируем коллекцию объектов по полю 'id' по убыванию:

<?php use AppModelsUser; $users = User::all(); $sorted = $users->sortByDesc('id'); foreach ($sorted as $user) { echo $user->id . ' - ' . $user->name . "\n"; } ?>

Результат выполнения кода:

"5 - user_e" "4 - user_d" "3 - user_c" "2 - user_b" "1 - user_a"

Пример

Отсортируем коллекцию массивов по полю 'created_at' по убыванию:

<?php use AppModelsArticle; $articles = Article::all(); $sorted = $articles->sortByDesc('created_at'); foreach ($sorted as $article) { echo $article->title . ' - ' . $article->created_at . "\n"; } ?>

Результат выполнения кода:

"article 3 - 2026-02-28 15:30:00" "article 2 - 2026-02-27 12:15:00" "article 1 - 2026-02-26 09:45:00"

Смотрите также

  • метод sortBy,
    который сортирует коллекцию по возрастанию
  • метод filter,
    который фильтрует коллекцию по заданному условию
  • метод groupBy,
    который группирует элементы коллекции по ключу
  • метод reverse,
    который переворачивает порядок элементов в коллекции
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить