Menu
CoddyTech

添加新活动

本课属于 Coddy PHP 学习旅程的“逻辑与流程”单元。第 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() 将其添加到 events 数组中
// 然后遍历所有事件,按要求的格式输出

?>

逻辑与流程中的所有课

自己练习: PHP 在线编译器