Menu
Coddy logo textTech

Отметка задачи как выполненной

Часть раздела Основы путешествия по PHP на Coddy — урок 57 из 71.

challenge icon

Задание

Легко

В предыдущем уроке вы отображали все задачи с их статусом. Теперь добавьте возможность пометить конкретную задачу как выполненную.

Прочитайте четыре строки ввода с описаниями задач (три начальные задачи плюс одна новая задача, как прежде). Затем прочитайте пятый ввод: целое число, представляющее индекс задачи для пометки как выполненной (нумерация с 0).

После создания массива $todos со всеми четырьмя задачами обновите значение "completed" на true для задачи по указанному индексу.

Затем пройдитесь циклом по массиву и выведите каждую задачу в следующем формате:

  • Если задача выполнена: - [task description] (Done)
  • Если задача ожидает выполнения: - [task description] (Pending)

Выведите каждую задачу на отдельной строке.

Пример:

Если вводы Buy groceries, Walk the dog, Finish homework, Call mom и 1, то вывод должен быть:

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

Если вводы Clean room, Read book, Exercise, Cook dinner и 3, то вывод должен быть:

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

Попробуйте сами

<?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";
}
?>

Все уроки раздела Основы