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
4Operadores de Comparação e Lógicos
Operadores de ComparaçãoIgualdade e IdentidadeOperadores Lógicos - Parte 1Operadores Lógicos - Parte 2Revisão - Lógica Simples2Variáveis e Tipos de Dados
NúmerosStrings e AspasBooleanosConvenções de NomenclaturaRevisão - Inicialização de VariáveisVariáveis VaziasConcatenação de StringsObtendo Entrada do UsuárioConversão para Diferentes Tipos5Lógica Condicional
Instrução IfIf - ElseO Operador TernárioOperador de Coalescência NulaInstrução SwitchRecapitulação - Tomando Decisões3Operadores Básicos
Operadores AritméticosOperador MóduloOperador de ExponenciaçãoAtribuição CombinadaIncremento/DecrementoPrecedência de OperadoresRevisão - Cálculos SimplesOperadores de String6Arrays Parte 1 - Indexados
Introdução a ArraysCriando Arrays IndexadosAcessando Elementos por ÍndiceModificando Elementos por ÍndiceTamanho do Array com CountAdicionando Elementos a um ArrayRecapitulação - Gerenciando uma Lista Simples9Projeto: Lista de Tarefas Simples
Visão Geral e Dados do ProjetoAdicionando uma Nova TarefaPratique por conta própria: Compilador de PHP online