Filtern nach Erledigungsstatus
Teil des Abschnitts Grundlagen der PHP-Journey von Coddy — Lektion 59 von 71.
Aufgabe
EinfachIn 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
completedist, zeigen Sie nur Aufgaben an, bei denen"completed"trueist - Wenn der Filter
pendingist, zeigen Sie nur Aufgaben an, bei denen"completed"falseist
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
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 List9Projekt: Einfache To-Do-Liste
Projektübersicht & DatenHinzufügen einer neuen Aufgabe