Removendo uma Tarefa
Parte da seção Fundamentos do Journey de PHP da Coddy — lição 58 de 71.
Desafio
FácilNa 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
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