Menu
Coddy logo textTech

Filtern nach Erledigungsstatus

Teil des Abschnitts Grundlagen der PHP-Journey von Coddy — Lektion 59 von 71.

challenge icon

Aufgabe

Einfach

In der vorherigen Lektion haben Sie eine Aufgabe aus der Liste entfernt. Fügen Sie nun die Möglichkeit hinzu, Aufgaben nach ihrem Abschlussstatus zu filtern.

Lesen Sie vier Zeilen Eingabe für Aufgabenbeschreibungen (drei anfängliche Aufgaben plus eine neue Aufgabe). Lesen Sie dann eine fünfte Eingabe: eine Ganzzahl, die den Index der zu markierenden Aufgabe als abgeschlossen darstellt. Lesen Sie eine sechste Eingabe: eine Ganzzahl, die den Index der zu entfernenden Aufgabe darstellt. Lesen Sie schließlich eine siebte Eingabe: einen String, der entweder completed oder pending ist, um die Aufgaben zu filtern.

Nach dem Erstellen des $todos-Arrays, Markieren der angegebenen Aufgabe als abgeschlossen und Entfernen der Aufgabe am gegebenen Index filtern Sie die verbleibenden Aufgaben basierend auf der Filtereingabe:

  • Wenn der Filter completed ist, zeigen Sie nur Aufgaben an, bei denen "completed" true ist
  • Wenn der Filter pending ist, zeigen Sie nur Aufgaben an, bei denen "completed" false ist

Durchlaufen Sie die verbleibenden Aufgaben und drucken Sie nur diejenigen aus, die zum Filter passen, unter Verwendung des gleichen Formats:

  • Wenn die Aufgabe abgeschlossen ist: - [task description] (Done)
  • Wenn die Aufgabe aussteht: - [task description] (Pending)

Drucken Sie jede passende Aufgabe in einer separaten Zeile aus.

Beispiel:

Wenn die Eingaben Buy groceries, Walk the dog, Finish homework, Call mom, 1, 2 und completed sind, sollte die Ausgabe sein:

- Walk the dog (Done)

Wenn die Eingaben Buy groceries, Walk the dog, Finish homework, Call mom, 1, 2 und pending sind, sollte die Ausgabe sein:

- Buy groceries (Pending)
- Call mom (Pending)

Probier es selbst

<?php
// Vordefinierte Aufgabensammlung
$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
    ]
];

// Filtertyp-Eingabe lesen
$filterType = trim(fgets(STDIN));

// TODO: Schreibe deinen Code unten
// Verwende eine foreach-Schleife, um durch die Aufgaben zu iterieren
// Verwende bedingte Logik, um Aufgaben basierend auf dem Abschlussstatus zu filtern
// Zeige Ergebnisse im erforderlichen Format an

?>

Alle Lektionen in Grundlagen