Menu
Coddy logo textTech

学生への成績追加

CoddyのPHPジャーニー「論理とフロー」セクションの一部 — レッスン 35/68。

challenge icon

チャレンジ

簡単

3つの入力が与えられます:既存の学生の成績表を表すJSONオブジェクト、学生の名前、そして追加する成績です。成績表は学生の名前をキーとして使用し、各学生は "id""grades" 配列を持っています。2番目の入力は学生の名前で、3番目の入力は追加する成績(数値)です。

3つの入力をすべて読み込み、JSON文字列を成績表の配列に変換し、指定された学生を特定し、その学生の成績配列に新しい成績を追加し、print_r() を使用して更新された成績表を出力してください。

入力形式:

  • 1行目:既存の成績表を表すJSONオブジェクト(例: {"Alice":{"id":101,"grades":[85,92,78]},"Bob":{"id":102,"grades":[90,88,95]},"Charlie":{"id":103,"grades":[76,84,89]}}
  • 2行目:学生の名前(例: Alice
  • 3行目:追加する成績(例: 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);
?>

論理とフローのすべてのレッスン