Marcando una Tarea como Completada
Parte de la sección Fundamentos del Journey de PHP de Coddy — lección 57 de 71.
Desafío
FácilEn la lección anterior, mostraste todas las tareas con su estado. Ahora, agrega la capacidad de marcar una tarea específica como completada.
Lee cuatro líneas de entrada para descripciones de tareas (tres tareas iniciales más una nueva tarea, como antes). Luego lee una quinta entrada: un entero que representa el índice de la tarea a marcar como completada (basado en 0).
Después de construir el arreglo $todos con las cuatro tareas, actualiza el valor "completed" a true para la tarea en el índice especificado.
Luego itera a través del arreglo e imprime cada tarea en el siguiente formato:
- Si la tarea está completada:
- [task description] (Done) - Si la tarea está pendiente:
- [task description] (Pending)
Imprime cada tarea en una línea separada.
Ejemplo:
Si las entradas son Buy groceries, Walk the dog, Finish homework, Call mom y 1, la salida debería ser:
- Buy groceries (Pending)
- Walk the dog (Done)
- Finish homework (Pending)
- Call mom (Pending)Si las entradas son Clean room, Read book, Exercise, Cook dinner y 3, la salida debería ser:
- Clean room (Pending)
- Read book (Pending)
- Exercise (Pending)
- Cook dinner (Done)Pruébalo tú mismo
<?php
// Colección de tareas predefinida
$tasks = [
[
"description" => "Buy groceries",
"completed" => false
],
[
"description" => "Walk the dog",
"completed" => true
],
[
"description" => "Read a book",
"completed" => false
],
[
"description" => "Exercise",
"completed" => false
]
];
// Leer entrada
$taskIndex = trim(fgets(STDIN));
$newStatus = trim(fgets(STDIN));
// TODO: Escribe tu código a continuación
// Convierte las entradas a tipos apropiados y actualiza la tarea
// Muestra el mensaje de la tarea actualizada
// Muestra todas las tareas con su estado
// Muestra el resumen con total, completadas y pendientes
?>Todas las lecciones de Fundamentos
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 List9Proyecto: Lista de Tareas Simple
Resumen del Proyecto y DatosAgregando una Nueva Tarea