Menu
Coddy logo textTech

Removendo uma Tarefa

Parte da seção Fundamentos do Journey de PHP da Coddy — lição 58 de 71.

challenge icon

Desafio

Fácil

Na lição anterior, você marcou uma tarefa como concluída. Agora, adicione a capacidade de remover uma tarefa da lista completamente.

Leia quatro linhas de entrada para descrições de tarefas (três tarefas iniciais mais uma nova tarefa). Em seguida, leia uma quinta entrada: um inteiro representando o índice da tarefa a ser marcada como concluída. Finalmente, leia uma sexta entrada: um inteiro representando o índice da tarefa a ser removida da lista.

Após construir o array $todos com todas as quatro tarefas e marcar a tarefa especificada como concluída, remova a tarefa no índice de remoção dado usando array_splice().

A função array_splice() remove elementos de um array:

<?php
array_splice($array, $index, 1); // Removes 1 element at $index
?>

Em seguida, percorra as tarefas restantes e imprima cada uma no mesmo formato de antes:

  • Se a tarefa estiver concluída: - [task description] (Done)
  • Se a tarefa estiver pendente: - [task description] (Pending)

Imprima cada tarefa em uma linha separada.

Exemplo:

Se as entradas forem Buy groceries, Walk the dog, Finish homework, Call mom, 1, e 2, a saída deve ser:

- Buy groceries (Pending)
- Walk the dog (Done)
- Call mom (Pending)

Se as entradas forem Clean room, Read book, Exercise, Cook dinner, 0, e 0, a saída deve ser:

- Read book (Pending)
- Exercise (Pending)
- Cook dinner (Pending)

Experimente você mesmo

<?php
// Coleção de tarefas
$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
    ]
];

// Ler entrada
$taskIndex = trim(fgets(STDIN));

// TODO: Escreva seu código aqui
// Converta o índice da tarefa para inteiro
// Remova a tarefa usando unset()
// Reindexe o array usando array_values()
// Exiba a tarefa removida e as tarefas restantes

?>

Todas as lições de Fundamentos