Menu
Coddy logo textTech

Сортировка индексных массивов по убыванию

Часть раздела Логика и управление потоком путешествия по PHP на Coddy — урок 21 из 68.

Когда вам нужно отсортировать данные в обратном порядке — от большего к меньшему или от Я до А — функция PHP rsort() предоставляет идеальное решение. Эта функция работает точно так же, как sort(), но упорядочивает элементы по убыванию, а не по возрастанию.

Вот как 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() изменяет исходный массив напрямую, а не создает новую отсортированную копию. После вызова rsort() ваш массив окончательно переупорядочивается в порядке убывания.

Эта функция особенно полезна, когда вы хотите отобразить рейтинги, таблицы лидеров или любые данные, в которых самые высокие значения должны стоять первыми. Независимо от того, работаете ли вы с результатами тестов, показателями продаж или алфавитными списками, требующими обратной сортировки, rsort() эффективно справляется с этой задачей.

quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

challenge icon

Задание

Легко

Вы получите один входной параметр: массив показателей продаж в формате JSON. Прочитайте входные данные, преобразуйте строку JSON в массив, используйте rsort() для сортировки показателей продаж в порядке убывания и выведите отсортированный массив с помощью print_r().

Формат входных данных: Одна строка, содержащая JSON-массив чисел (например: [1250,3400,890,2100,1780])

Ожидаемый результат: Отсортированный в порядке убывания массив, отображаемый с помощью print_r()

Шпаргалка

Функция 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() изменяет исходный массив напрямую, а не создает новую отсортированную копию.

Попробуйте сами

<?php
// Чтение входных данных
$input = trim(fgets(STDIN));

// Преобразование строки JSON в массив
$sales = json_decode($input, true);

// TODO: Напишите ниже свой код для сортировки массива в порядке убывания


// Вывод отсортированного массива
print_r($sales);
?>
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Логика и управление потоком