Отметка задачи как выполненной
Часть раздела Основы путешествия по PHP на Coddy — урок 57 из 71.
Задание
ЛегкоВ предыдущем уроке вы отображали все задачи с их статусом. Теперь добавьте возможность пометить конкретную задачу как выполненную.
Прочитайте четыре строки ввода с описаниями задач (три начальные задачи плюс одна новая задача, как прежде). Затем прочитайте пятый ввод: целое число, представляющее индекс задачи для пометки как выполненной (нумерация с 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";
}
?>Все уроки раздела Основы
4Comparison & Logical Operators
Comparison OperatorsEquality & IdentityLogical Operators Part 1Logical Operators Part 2Recap - Simple Logic2Variables and Data Types
NumbersStrings and QuotesBooleansNaming ConventionsRecap - Variable InitEmpty VariablesString ConcatenationGetting User InputCast to Different Types5Conditional Logic
If StatementIf - ElseThe Ternary OperatorNull Coalescing OperatorSwitch StatementRecap - Making Decisions3Basic Operators
Arithmetic OperatorsModulo OperatorExponentiation OperatorCombined AssignmentIncrement/DecrementOperator PrecedenceRecap - Simple CalculationsString Operators6Arrays Part 1 - Indexed
Introduction to ArraysCreating Indexed ArraysAccessing Elements by IndexModifying Elements by IndexArray Size with CountAdding Elements to an ArrayRecap - Managing a Simple List9Проект: Простой список задач
Обзор проекта и данныеДобавление новой задачи