Menu
Coddy logo textTech

Eliminando una Tarea

Parte de la sección Fundamentos del Journey de PHP de Coddy — lección 58 de 71.

challenge icon

Desafío

Fácil

En 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