Добавление нового события
Часть раздела Логика и управление потоком путешествия по PHP на Coddy — урок 60 из 68.
Задание
ЛегкоВы получите два входных данных: строку 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()
// Затем переберите все события и выведите их в требуемом формате
?>Все уроки раздела Логика и управление потоком
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'Итоги: Сортировка таблицы лидеров6Функции высшего порядка для массивов
Преобразование с помощью 'array_map''array_map' с пользовательской функциейФильтрация с помощью 'array_filter''array_filter' с пользовательской функциейСвертка с помощью 'array_reduce'Обход с помощью 'array_walk'Итоги: Обработка данных9Планировщик событий
Данные событийДобавление нового события