Menu
CoddyTech

为学生添加成绩

本课属于 Coddy PHP 学习旅程的“逻辑与流程”单元。第 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);
?>

逻辑与流程中的所有课

自己练习: PHP 在线编译器