Menu
Coddy logo textTech

Gérer les cas de liste vide

Fait partie de la section Fondamentaux du Journey PHP de Coddy. Leçon 60 sur 71.

challenge icon

Défi

Facile

Dans la leçon précédente, vous avez filtré les tâches selon leur état d’avancement. Maintenant, ajoutez la gestion des cas où le résultat filtré est vide.

Lisez quatre lignes d’entrée contenant les 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 créé le tableau $todos, marqué la tâche indiquée comme terminée et supprimé la tâche à l’index donné, filtrez les tâches restantes en fonction de l’entrée de filtrage.

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 soit completed, soit pending)
  • Si des tâches correspondent au filtre, affichez-les en utilisant le même format que précédemment

Format de sortie pour les tâches correspondantes :

  • Si la tâche est terminé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 doit ê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 doit ê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 doit ê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

Entraînez-vous par vous-même : Compilateur PHP en ligne