Eliminando una Tarea
Parte de la sección Fundamentos del Journey de PHP de Coddy — lección 58 de 71.
Desafío
FácilEn la lección anterior, marcaste una tarea como completada. Ahora, agrega la capacidad de eliminar una tarea de la lista por completo.
Lee cuatro líneas de entrada para descripciones de tareas (tres tareas iniciales más una nueva tarea). Luego lee una quinta entrada: un entero que representa el índice de la tarea a marcar como completada. Finalmente, lee una sexta entrada: un entero que representa el índice de la tarea a eliminar de la lista.
Después de construir el arreglo $todos con todas las cuatro tareas y marcar la tarea especificada como completada, elimina la tarea en el índice de eliminación dado usando array_splice().
La función array_splice() elimina elementos de un arreglo:
<?php
array_splice($array, $index, 1); // Removes 1 element at $index
?>Luego itera a través de las tareas restantes e imprime cada una en el mismo formato que antes:
- 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, 1 y 2, la salida debería ser:
- Buy groceries (Pending)
- Walk the dog (Done)
- Call mom (Pending)Si las entradas son Clean room, Read book, Exercise, Cook dinner, 0 y 0, la salida debería ser:
- Read book (Pending)
- Exercise (Pending)
- Cook dinner (Pending)Pruébalo tú mismo
<?php
// Colección de tareas
$tasks = [
[
"description" => "Buy groceries",
"completed" => false
],
[
"description" => "Walk the dog",
"completed" => true
],
[
"description" => "Read a book",
"completed" => false
],
[
"description" => "Exercise",
"completed" => true
],
[
"description" => "Clean house",
"completed" => false
]
];
// Leer entrada
$taskIndex = trim(fgets(STDIN));
// TODO: Escribe tu código aquí
// Convertir el índice de la tarea a entero
// Eliminar la tarea usando unset()
// Reindexar el array usando array_values()
// Mostrar la tarea eliminada y las tareas restantes
?>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