Отметка задачи как выполненной
Часть раздела Основы путешествия по 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";
}
?>Все уроки раздела Основы
4Операторы сравнения и логические операторы
Операторы сравненияРавенство и идентичностьЛогические операторы. Часть 1Логические операторы. Часть 2Повторение — простая логика2Переменные и типы данных
ЧислаСтроки и кавычкиБулевы значенияСоглашения об именованииПовторение — инициализация переменныхПустые переменныеКонкатенация строкПолучение пользовательского вводаПриведение к другим типам5Условная логика
Оператор ifIf — ElseТернарный операторОператор нулевого слиянияОператор switchПовторение: принятие решений3Основные операторы
Арифметические операторыОператор остатка от деленияОператор возведения в степеньСоставное присваиваниеИнкремент/декрементПриоритет операторовПовторение — простые вычисленияОператоры строк6Массивы, часть 1 — индексированные
Введение в массивыСоздание индексированных массивовДоступ к элементам по индексуИзменение элементов по индексуРазмер массива с помощью CountДобавление элементов в массивПовторение — управление простым списком9Проект: простой список задач
Обзор проекта и данныхДобавление новой задачиПотренируйтесь самостоятельно: Онлайн-компилятор PHP