Tratando Cenários de Lista Vazia
Parte da seção Fundamentos do Journey de PHP da Coddy — lição 60 de 71.
Desafio
FácilNa 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]écompletedoupending) - 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
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 List9Projeto: Lista de Tarefas Simples
Visão Geral do Projeto e DadosAdicionando uma Nova Tarefa