Итоги: Сортировка таблицы лидеров
Часть раздела Логика и управление потоком путешествия по PHP на Coddy — урок 26 из 68.
Задание
ЛегкоВы получите два входных значения: во-первых, ассоциативный массив имен игроков и их очков в формате 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";
}
?>Все уроки раздела Логика и управление потоком
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'Итоги: Сортировка таблицы лидеров