Tamamlanma Durumuna Göre Filtreleme
Coddy'nin PHP Journey'sinin Temeller bölümünün bir parçası — ders 59 / 71.
Görev
KolayÖnceki derste, listeden bir görevi kaldırdınız. Şimdi, görevleri tamamlanma durumlarına göre filtreleme yeteneğini ekleyin.
Görev açıklamaları için dört satır girdi okuyun (üç başlangıç görevi artı bir yeni görev). Sonra beşinci girdiyi okuyun: tamamlandı olarak işaretlenecek görevin indeksini temsil eden bir tamsayı. Altıncı girdiyi okuyun: kaldırılacak görevin indeksini temsil eden bir tamsayı. Son olarak, yedinci girdiyi okuyun: görevleri filtrelemek için ya completed ya da pending olan bir dize.
$todos dizisini oluşturduktan, belirtilen görevi tamamlandı olarak işaretledikten ve verilen indeksteki görevi kaldırdıktan sonra, kalan görevleri filtre girdisine göre filtreleyin:
- Eğer filtre
completedise,"completed"trueolan görevleri yalnızca görüntüleyin - Eğer filtre
pendingise,"completed"falseolan görevleri yalnızca görüntüleyin
Kalan görevler arasında döngü yapın ve filtreye uyanları yalnızca aynı formatı kullanarak yazdırın:
- Eğer görev tamamlandıysa:
- [task description] (Done) - Eğer görev beklemedeyse:
- [task description] (Pending)
Her uyumlu görevi ayrı bir satıra yazdırın.
Örnek:
Eğer girdiler Buy groceries, Walk the dog, Finish homework, Call mom, 1, 2 ve completed ise, çıktı şu olmalı:
- Walk the dog (Done)Eğer girdiler Buy groceries, Walk the dog, Finish homework, Call mom, 1, 2 ve pending ise, çıktı şu olmalı:
- Buy groceries (Pending)
- Call mom (Pending)Kendin dene
<?php
// Önceden tanımlanmış görev koleksiyonu
$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
]
];
// Filtre tipi girdisini oku
$filterType = trim(fgets(STDIN));
// TODO: Aşağıya kodunuzu yazın
// Görevler üzerinde gezinmek için foreach döngüsü kullanın
// Tamamlanma durumuna göre görevleri filtrelemek için koşullu mantık kullanın
// Sonuçları gereken formatta görüntüleyin
?>Temeller bölümündeki tüm dersler
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 List9Proje: Basit Yapılacaklar Listesi
Proje Genel Bakışı ve VeriYeni Bir Görev Ekleme