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
4Karşılaştırma ve Mantıksal Operatörler
Karşılaştırma OperatörleriEşitlik ve KimlikMantıksal Operatörler 1. BölümMantıksal Operatörler 2. BölümTekrar - Basit Mantık2Değişkenler ve Veri Türleri
SayılarDizeler ve Tırnak İşaretleriBoolean DeğerleriAdlandırma KurallarıTekrar - Değişken BaşlatmaBoş DeğişkenlerDize BirleştirmeKullanıcı Girdisi AlmaFarklı Türlere Dönüştürme5Koşullu Mantık
If İfadesiIf - ElseÜçlü OperatörNull Coalescing OperatörüSwitch İfadesiTekrar - Karar Verme3Temel Operatörler
Aritmetik OperatörlerMod Alma OperatörüÜs Alma OperatörüBirleşik AtamaArtırma/AzaltmaOperatör ÖnceliğiTekrar - Basit HesaplamalarDize Operatörleri6Diziler Bölüm 1 - İndeksli
Dizilere Girişİndeksli Diziler Oluşturmaİndekse Göre Öğelere Erişmeİndekse Göre Öğeleri DeğiştirmeCount ile Dizi BoyutuDiziye Öğe EklemeTekrar - Basit Bir Listeyi Yönetme9Proje: Basit Yapılacaklar Listesi
Proje Genel Bakışı ve VerilerYeni Bir Görev EklemeKendi başına pratik yap: Online PHP derleyicisi