Menu
CoddyTech

Đánh dấu việc đã hoàn thành

Thuộc phần Kiến thức cơ bản trong hành trình PHP của Coddy. Bài học 57 trên 71.

challenge icon

Thử thách

Dễ

Trong bài học trước, bạn đã hiển thị tất cả tác vụ cùng trạng thái của chúng. Bây giờ, hãy thêm khả năng đánh dấu một tác vụ cụ thể là đã hoàn tất.

Đọc bốn dòng đầu vào mô tả các tác vụ (ba tác vụ ban đầu và một tác vụ mới, như trước). Sau đó, đọc dòng đầu vào thứ năm: một số nguyên biểu thị chỉ số của tác vụ cần đánh dấu là đã hoàn tất (bắt đầu từ 0).

Sau khi tạo mảng $todos chứa cả bốn tác vụ, hãy cập nhật giá trị "completed" thành true cho tác vụ ở chỉ số đã chỉ định.

Sau đó, lặp qua mảng và in từng tác vụ theo định dạng sau:

  • Nếu tác vụ đã hoàn tất: - [task description] (Done)
  • Nếu tác vụ đang chờ: - [task description] (Pending)

In mỗi tác vụ trên một dòng riêng.

Ví dụ:

Nếu đầu vào là Buy groceries, Walk the dog, Finish homework, Call mom và 1, thì đầu ra sẽ là:

- Buy groceries (Pending)
- Walk the dog (Done)
- Finish homework (Pending)
- Call mom (Pending)

Nếu đầu vào là Clean room, Read book, Exercise, Cook dinner và 3, thì đầu ra sẽ là:

- Clean room (Pending)
- Read book (Pending)
- Exercise (Pending)
- Cook dinner (Done)

Tự làm thử

<?php
// Read three task descriptions
$task1 = trim(fgets(STDIN));
$task2 = trim(fgets(STDIN));
$task3 = trim(fgets(STDIN));

// Read the new task to add
$newTask = trim(fgets(STDIN));

// Create a $todos array containing three task arrays
// Each task should be an associative array with "task" and "completed" keys
$todos = [
    ["task" => $task1, "completed" => false],
    ["task" => $task2, "completed" => false],
    ["task" => $task3, "completed" => false]
];

// Add the new task to the end of the array
$todos[] = ["task" => $newTask, "completed" => false];

// Loop through the array and print each task in the formatted list
foreach ($todos as $todo) {
    echo "- " . $todo["task"] . " (Pending)\n";
}
?>

Tất cả bài học trong Kiến thức cơ bản

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