Menu
Coddy logo textTech

Итоги: Сортировка таблицы лидеров

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

challenge icon

Задание

Легко

Вы получите два входных значения: во-первых, ассоциативный массив имен игроков и их очков в формате JSON, и во-вторых, порядок сортировки (либо "asc", либо "desc"). Прочитайте оба входных значения, преобразуйте строку JSON в массив, отсортируйте таблицу лидеров по очкам в соответствии с указанным порядком и выведите имя и очки каждого игрока на отдельной строке в формате: Name: Score

Используйте asort() для сортировки по возрастанию и arsort() для сортировки по убыванию, чтобы сохранить ассоциации имен игроков с их очками.

Формат входных данных:

  • Первая строка: JSON-объект с именами игроков в качестве ключей и очками в качестве значений (пример: {"Alice":1500,"Bob":2300,"Charlie":1800,"Diana":2100})
  • Вторая строка: Порядок сортировки — либо asc, либо desc

Ожидаемый результат: Имя и очки каждого игрока на отдельной строке в формате Name: Score, отсортированные в соответствии с указанным порядком

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

<?php
// Чтение входных данных JSON
$jsonInput = fgets(STDIN);
$leaderboard = (array)json_decode($jsonInput, true);

// Чтение порядка сортировки
$order = trim(fgets(STDIN));

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


// Вывод имени и счета каждого игрока
foreach ($leaderboard as $name => $score) {
    echo "$name: $score\n";
}
?>

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