Menu
Coddy logo textTech

Добавление нового события

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

challenge icon

Задание

Легко

Вы получите два входных данных: строку JSON, представляющую существующий массив событий из предыдущего урока, и три значения на второй строке, разделенные пробелами, представляющие название, дату и место проведения нового события.

Первым входным данным будет строка JSON в следующем формате: [{"name":"Team Meeting","date":"2024-04-15","location":"Office"},{"name":"Conference","date":"2024-05-20","location":"Convention Center"}]

Вторым входным данным будут три значения, разделенные пробелами, в следующем формате: Workshop 2024-06-10 Library

Прочитайте оба входных данных. Декодируйте строку JSON в массив событий. Затем разберите второй входной параметр, чтобы извлечь название события, дату и местоположение. Создайте новый ассоциативный массив для этого события с ключами "name", "date" и "location" и добавьте его в массив событий с помощью array_push().

После добавления нового события переберите все события в массиве и выведите каждое из них в следующем формате:

Event: [name] on [date] at [location]

Выводите каждое событие на отдельной строке в том порядке, в котором они появляются в массиве.

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

  • Первая строка: JSON-строка, представляющая существующий массив событий
  • Вторая строка: Три значения, разделенные пробелами, представляющие название, дату и место проведения нового события (пример: Workshop 2024-06-10 Library)

Ожидаемый результат: Каждое событие (включая вновь добавленное), напечатанное на отдельной строке в формате: Event: [name] on [date] at [location]

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

<?php
// Чтение JSON-строки из первого ввода
$jsonInput = trim(fgets(STDIN));

// Чтение данных о новом событии из второго ввода
$newEventInput = trim(fgets(STDIN));

// Декодирование JSON-строки в массив
$events = (array)json_decode($jsonInput, true);

// Разбор данных о новом событии (название, дата, местоположение)
list($name, $date, $location) = explode(' ', $newEventInput);

// TODO: Напишите свой код ниже
// Создайте массив для нового события и добавьте его в массив событий с помощью array_push()
// Затем переберите все события и выведите их в требуемом формате

?>

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