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 TarefaPratique por conta própria: Compilador de PHP online