Сортировка индексных массивов по убыванию
Часть раздела Логика и управление потоком путешествия по PHP на Coddy. Урок 21 из 68.
Когда вам нужно отсортировать данные в обратном порядке — от большего к меньшему или от Z к A, — функция rsort() в PHP предоставляет идеальное решение. Эта функция работает точно так же, как sort(), но располагает элементы в порядке descending, а не по возрастанию.
Вот как rsort() работает с массивом оценок:
<?php
$scores = [78, 95, 82, 91, 87];
rsort($scores);
print_r($scores);
// Выводит: Array ( [0] => 95 [1] => 91 [2] => 87 [3] => 82 [4] => 78 )
?>Как и sort(), функция rsort() изменяет исходный array напрямую, а не создает новую sorted-копию. После вызова rsort() ваш array навсегда перестраивается в descending order.
Эта функция особенно полезна, когда нужно отображать рейтинги, таблицы лидеров или любые данные, в которых самые высокие значения должны находиться первыми. Работаете ли вы с результатами тестов, показателями продаж или алфавитными списками, которым нужен обратный порядок, rsort() эффективно справляется с этой задачей.
Задание
ЛегкоНа вход будет подан один элемент: массив показателей продаж в формате JSON. Прочитайте входные данные, преобразуйте строку JSON в массив, используйте rsort(), чтобы расположить показатели продаж в порядке descending, и выведите отсортированный массив с помощью print_r().
Формат входных данных: Одна строка, содержащая массив чисел в формате JSON (пример: [1250,3400,890,2100,1780])
Ожидаемый вывод: Отсортированный массив в порядке descending, выведенный с помощью print_r()
Попробуйте сами
<?php
// Прочитать ввод
$input = trim(fgets(STDIN));
// Преобразовать JSON-строку в массив
$sales = json_decode($input, true);
// TODO: Напишите свой код ниже, чтобы отсортировать массив в порядке убывания
// Вывести отсортированный массив
print_r($sales);
?>В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Логика и управление потоком
1Продвинутые функции
Анонимные функцииЗамыкания и 'use'Стрелочные функцииCallback-функцииИспользование 'call_user_func'Функции переменныхПередача по ссылкеРекурсивные функцииИтоги: ассорти из функций4Многомерные массивы
Создание 2D-массиваДоступ к элементам 2D-массиваИзменение элементов 2D-массиваИтерация с вложенными цикламиДвумерные ассоциативные массивыИтоги: Упражнение «Простая сетка»2Продвинутая работа с массивами
Добавление с помощью 'array_push'Удаление с помощью 'array_pop'Добавление с помощью 'array_unshift'Удаление с помощью 'array_shift'Слияние индексных массивовСлияние ассоциативных массивовИзвлечение с помощью 'array_slice'Поиск значений с 'in_array'Поиск ключей с 'array_search'Итоги: Упражнение «Плейлист»3Сортировка массивов
Сортировка индексных массивов по возрастаниюСортировка индексных массивов по убываниюСортировка ассоциативных массивов по значениюСортировка ассоциативных массивов по ключуСортировка в естественном порядкеПользовательская сортировка с помощью 'usort'Итоги: Сортировка таблицы лидеровПотренируйтесь самостоятельно: Онлайн-компилятор PHP