为学生添加成绩
本课属于 Coddy PHP 学习旅程的“逻辑与流程”单元。第 35 课,共 68 课。
挑战
简单你会收到三个输入:一个表示现有学生成绩册的 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 在线编译器