Filtrer par statut de complétion
Fait partie de la section Fondamentaux du Journey PHP de Coddy — leçon 59 sur 71.
Défi
FacileDans la leçon précédente, vous avez supprimé une tâche de la liste. Maintenant, ajoutez la possibilité de filtrer les tâches par leur état de complétion.
Lisez quatre lignes d'entrée pour les descriptions de tâches (trois tâches initiales plus une nouvelle tâche). Ensuite, lisez une cinquième entrée : un entier représentant l'index de la tâche à marquer comme terminée. Lisez une sixième entrée : un entier représentant l'index de la tâche à supprimer. Enfin, lisez une septième entrée : une chaîne qui est soit completed soit pending pour filtrer les tâches.
Après avoir construit le tableau $todos, marqué la tâche spécifiée comme terminée, et supprimé la tâche à l'index donné, filtrez les tâches restantes en fonction de l'entrée de filtre :
- Si le filtre est
completed, affichez uniquement les tâches où"completed"esttrue - Si le filtre est
pending, affichez uniquement les tâches où"completed"estfalse
Parcourez les tâches restantes et imprimez uniquement celles qui correspondent au filtre, en utilisant le même format :
- Si la tâche est terminée :
- [task description] (Done) - Si la tâche est en attente :
- [task description] (Pending)
Imprimez chaque tâche correspondante sur une ligne séparée.
Exemple :
Si les entrées sont Buy groceries, Walk the dog, Finish homework, Call mom, 1, 2, et completed, la sortie devrait être :
- Walk the dog (Done)Si les entrées sont Buy groceries, Walk the dog, Finish homework, Call mom, 1, 2, et pending, la sortie devrait être :
- Buy groceries (Pending)
- Call mom (Pending)Essayez vous-même
<?php
// Collection de tâches prédéfinie
$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
],
[
"description" => "Call mom",
"completed" => true
]
];
// Lire l'entrée du type de filtre
$filterType = trim(fgets(STDIN));
// TODO: Écrivez votre code ci-dessous
// Utiliser une boucle foreach pour itérer à travers les tâches
// Utiliser une logique conditionnelle pour filtrer les tâches en fonction de leur état de complétion
// Afficher les résultats au format requis
?>Toutes les leçons de Fondamentaux
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 List9Projet : Liste de tâches simple
Aperçu du projet & donnéesAjouter une nouvelle tâche