Menu
Coddy logo textTech

Tratando Cenários de Lista Vazia

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

challenge icon

Desafio

Fácil

Na lição anterior, você filtrou tarefas pelo status de conclusão. Agora, adicione tratamento para cenários onde o resultado filtrado está vazio.

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 marcar como completa. Leia uma sexta entrada: um inteiro representando o índice da tarefa a remover. Finalmente, leia uma sétima entrada: uma string que é completed ou pending para filtrar as tarefas.

Após construir o array $todos, marcar a tarefa especificada como completa e remover a tarefa no índice dado, filtre as tarefas restantes com base na entrada de filtro.

Antes de exibir as tarefas filtradas, verifique se alguma tarefa corresponde ao filtro:

  • Se nenhuma tarefa corresponder ao filtro, imprima: No [filter] tasks found. (onde [filter] é completed ou pending)
  • Se tarefas corresponderem ao filtro, exiba-as usando o mesmo formato de antes

Formato de saída para tarefas correspondentes:

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

Exemplo 1:

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

No completed tasks found.

Exemplo 2:

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

- Buy groceries (Done)

Exemplo 3:

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

- Finish homework (Pending)
- Call mom (Pending)

Experimente você mesmo

<?php
// Ler entrada
$input = trim(fgets(STDIN));

// Inicializar coleções de tarefas com base na entrada
if ($input == "empty") {
    $tasks = [];
} else {
    $tasks = [
        [
            "description" => "Buy groceries",
            "completed" => false
        ],
        [
            "description" => "Walk the dog", 
            "completed" => true
        ]
    ];
}

// TODO: Escreva seu código aqui
// Verificar se o array de tarefas está vazio usando a função count()
// Exibir mensagem apropriada para tarefas vazias ou populadas
// Calcular e exibir informações de resumo

?>

Todas as lições de Fundamentos