Добавление оценки студенту
Часть раздела Логика и управление потоком путешествия по PHP на Coddy — урок 35 из 68.
Задание
ЛегкоВы получите три входных значения: объект JSON, представляющий существующий журнал оценок студентов, имя студента и оценку, которую нужно добавить. В журнале оценок имена студентов используются в качестве ключей, при этом у каждого студента есть "id" и массив "grades". Второе входное значение — это имя студента, а третье — оценка, которую нужно добавить (в виде числа).
Прочитайте все три входных значения, преобразуйте строку JSON в массив журнала оценок, найдите указанного студента, добавьте новую оценку в их массив оценок и выведите обновленный журнал оценок с помощью print_r().
Формат входных данных:
- Первая строка: Объект JSON, представляющий существующий журнал оценок (пример:
{"Alice":{"id":101,"grades":[85,92,78]},"Bob":{"id":102,"grades":[90,88,95]},"Charlie":{"id":103,"grades":[76,84,89]}}) - Вторая строка: Имя студента (пример:
Alice) - Третья строка: Оценка, которую нужно добавить (пример:
88)
Ожидаемый результат: Обновленный массив журнала оценок, отображаемый с помощью print_r(), с новой оценкой, добавленной в массив оценок указанного студента
Попробуйте сами
<?php
// Прочитать JSON-строку журнала оценок
$gradebookJson = fgets(STDIN);
// Прочитать имя студента
$studentName = trim(fgets(STDIN));
// Прочитать оценку для добавления
$grade = intval(fgets(STDIN));
// Преобразовать JSON в массив
$gradebook = (array)json_decode($gradebookJson, true);
// TODO: Напишите свой код ниже
// Найдите студента и добавьте новую оценку в массив его оценок
// Вывести обновленный журнал оценок
print_r($gradebook);
?>Все уроки раздела Логика и управление потоком
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'Итоги: Упражнение «Плейлист»5Журнал успеваемости студентов
Настройка проекта: структура данныхДобавление нового студентаДобавление оценки студентуРасчет среднего балла студентаПоиск лучшего студентаСоздание табеля успеваемости3Сортировка массивов
Сортировка индексных массивов по возрастаниюСортировка индексных массивов по убываниюСортировка ассоциативных массивов по значениюСортировка ассоциативных массивов по ключуСортировка в естественном порядкеПользовательская сортировка с помощью 'usort'Итоги: Сортировка таблицы лидеров