Filtrer par état d’achèvement
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 selon leur statut d’achèvement.
Lisez quatre lignes d’entrée correspondant aux descriptions des tâches (trois tâches initiales et une nouvelle tâche). Lisez ensuite 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, afin de 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 pour lesquelles"completed"esttrue - Si le filtre est
pending, affichez uniquement les tâches pour lesquelles"completed"estfalse
Parcourez les tâches restantes et affichez 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)
Affichez chaque tâche correspondante sur une ligne distincte.
Exemple :
Si les entrées sont Buy groceries, Walk the dog, Finish homework, Call mom, 1, 2 et completed, la sortie doit ê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 doit ê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
4Opérateurs de comparaison et logiques
Opérateurs de comparaisonÉgalité et identitéOpérateurs logiques — Partie 1Opérateurs logiques — Partie 2Récapitulatif — Logique simple2Variables et types de données
NombresChaînes et guillemetsBooléensConventions de nommageRécapitulatif - initialisation des variablesVariables videsConcaténation de chaînesObtenir une saisie utilisateurConvertir vers différents types5Logique conditionnelle
Instruction ifIf - ElseOpérateur ternaireOpérateur de coalescence nulleInstruction switchRécapitulatif - Prendre des décisions3Opérateurs de base
Opérateurs arithmétiquesOpérateur moduloOpérateur d’exponentiationAffectation combinéeIncrémentation/DécrémentationPriorité des opérateursRécapitulatif - Calculs simplesOpérateurs sur les chaînes6Tableaux, partie 1 - Indexés
Introduction aux tableauxCréer des tableaux indexésAccéder aux éléments par indexModifier les éléments par indexTaille d’un tableau avec CountAjouter des éléments à un tableauRécapitulatif - Gérer une liste simple9Projet : Liste de tâches simple
Vue d’ensemble du projet et des donnéesAjouter une nouvelle tâcheEntraînez-vous par vous-même : Compilateur PHP en ligne