Gérer les scénarios de liste vide
Fait partie de la section Fondamentaux du Journey PHP de Coddy — leçon 60 sur 71.
Défi
FacileDans la leçon précédente, vous avez filtré les tâches par état de complétion. Maintenant, ajoutez la gestion des scénarios où le résultat filtré est vide.
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 complété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 complétée, et supprimé la tâche à l'index donné, filtrez les tâches restantes en fonction de l'entrée de filtre.
Avant d'afficher les tâches filtrées, vérifiez si des tâches correspondent au filtre :
- Si aucune tâche ne correspond au filtre, affichez :
No [filter] tasks found.(où[filter]est soitcompletedsoitpending) - Si des tâches correspondent au filtre, affichez-les en utilisant le même format qu'avant
Format de sortie pour les tâches correspondantes :
- Si la tâche est complétée :
- [task description] (Done) - Si la tâche est en attente :
- [task description] (Pending)
Exemple 1 :
Si les entrées sont Buy groceries, Walk the dog, Finish homework, Call mom, 1, 1, et completed, la sortie devrait être :
No completed tasks found.Exemple 2 :
Si les entrées sont Buy groceries, Walk the dog, Finish homework, Call mom, 0, 2, et completed, la sortie devrait être :
- Buy groceries (Done)Exemple 3 :
Si les entrées sont Buy groceries, Walk the dog, Finish homework, Call mom, 0, 1, et pending, la sortie devrait être :
- Finish homework (Pending)
- Call mom (Pending)Essayez vous-même
<?php
// Lire l'entrée
$input = trim(fgets(STDIN));
// Initialiser les collections de tâches en fonction de l'entrée
if ($input == "empty") {
$tasks = [];
} else {
$tasks = [
[
"description" => "Buy groceries",
"completed" => false
],
[
"description" => "Walk the dog",
"completed" => true
]
];
}
// TODO: Écrivez votre code ici
// Vérifier si le tableau tasks est vide en utilisant la fonction count()
// Afficher un message approprié pour les tâches vides ou peuplées
// Calculer et afficher les informations de résumé
?>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