Menu
Coddy logo textTech

Добавление оценки студенту

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

challenge icon

Задание

Легко

Вы получите три входных значения: объект 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);
?>

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