Menu
CoddyTech

Thêm điểm cho học sinh

Thuộc phần Logic và luồng chương trình trong hành trình PHP của Coddy. Bài học 35 trên 68.

challenge icon

Thử thách

Dễ

Bạn sẽ nhận ba đầu vào: một đối tượng JSON đại diện cho sổ điểm hiện có của học sinh, tên của một học sinh và điểm cần thêm. Sổ điểm dùng tên học sinh làm khóa, mỗi học sinh có "id" và mảng "grades". Đầu vào thứ hai là tên học sinh, còn đầu vào thứ ba là điểm cần thêm (dưới dạng số).

Đọc cả ba đầu vào, chuyển chuỗi JSON thành một mảng sổ điểm, tìm học sinh được chỉ định, thêm điểm mới vào mảng điểm của học sinh đó và in sổ điểm đã cập nhật bằng print_r().

Định dạng đầu vào:

  • Dòng đầu tiên: Một đối tượng JSON đại diện cho sổ điểm hiện có (ví dụ: {"Alice":{"id":101,"grades":[85,92,78]},"Bob":{"id":102,"grades":[90,88,95]},"Charlie":{"id":103,"grades":[76,84,89]}})
  • Dòng thứ hai: Tên học sinh (ví dụ: Alice)
  • Dòng thứ ba: Điểm cần thêm (ví dụ: 88)

Đầu ra mong đợi: Mảng sổ điểm đã cập nhật, được hiển thị bằng print_r(), với điểm mới được thêm vào mảng điểm của học sinh được chỉ định

Tự làm thử

<?php
// Đọc chuỗi (string) JSON của sổ điểm
$gradebookJson = fgets(STDIN);

// Đọc tên học sinh
$studentName = trim(fgets(STDIN));

// Đọc điểm cần thêm
$grade = intval(fgets(STDIN));

// Chuyển JSON thành mảng (array)
$gradebook = (array)json_decode($gradebookJson, true);

// TODO: Viết code bên dưới
// Tìm học sinh và thêm điểm mới vào mảng điểm của học sinh đó


// In ra sổ điểm đã cập nhật
print_r($gradebook);
?>

Tất cả bài học trong Logic và luồng chương trình

Tự luyện tập: Trình biên dịch PHP online