Menu
Coddy logo textTech

Tamamlanma Durumuna Göre Filtreleme

Coddy'nin PHP Journey'sinin Temeller bölümünün bir parçası — ders 59 / 71.

challenge icon

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 completed ise, "completed" true olan görevleri yalnızca görüntüleyin
  • Eğer filtre pending ise, "completed" false olan 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