Menu
Coddy logo textTech

Boş Liste Senaryolarını Ele Alma

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

challenge icon

Görev

Kolay

Önceki derste, görevleri tamamlama durumuna göre filtrelediniz. Şimdi, filtrelenmiş sonuç boş olduğunda işleme ekleyin.

Görev açıklamaları için dört satır giriş okuyun (üç başlangıç görevi artı bir yeni görev). Ardından beşinci girişi okuyun: tamamlandı olarak işaretlenecek görevin indeksini temsil eden bir tamsayı. Altıncı girişi okuyun: kaldırılacak görevin indeksini temsil eden bir tamsayı. Son olarak, yedinci girişi okuyun: görevleri filtrelemek için completed veya 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 girişine göre filtreleyin.

Filtrelenmiş görevleri görüntülemeden önce, filtreye uyan herhangi bir görevin olup olmadığını kontrol edin:

  • Eğer filtreye uyan görev yoksa, yazdırın: No [filter] tasks found. (burada [filter] completed veya pending olur)
  • Eğer filtreye uyan görevler varsa, bunları önceki gibi aynı formatta görüntüleyin

Uyan görevler için çıktı formatı:

  • Eğer görev tamamlandıysa: - [task description] (Done)
  • Eğer görev beklemedeyse: - [task description] (Pending)

Örnek 1:

Eğer girişler Buy groceries, Walk the dog, Finish homework, Call mom, 1, 1 ve completed ise, çıktı şu olmalı:

No completed tasks found.

Örnek 2:

Eğer girişler Buy groceries, Walk the dog, Finish homework, Call mom, 0, 2 ve completed ise, çıktı şu olmalı:

- Buy groceries (Done)

Örnek 3:

Eğer girişler Buy groceries, Walk the dog, Finish homework, Call mom, 0, 1 ve pending ise, çıktı şu olmalı:

- Finish homework (Pending)
- Call mom (Pending)

Kendin dene

<?php
// Girişi oku
$input = trim(fgets(STDIN));

// Girişe göre görev koleksiyonlarını başlat
if ($input == "empty") {
    $tasks = [];
} else {
    $tasks = [
        [
            "description" => "Buy groceries",
            "completed" => false
        ],
        [
            "description" => "Walk the dog", 
            "completed" => true
        ]
    ];
}

// TODO: Kodunuzu buraya yazın
// count() fonksiyonunu kullanarak görevler dizisinin boş olup olmadığını kontrol edin
// Boş veya dolu görevler için uygun mesaj gösterin
// Özet bilgileri hesaplayıp gösterin

?>

Temeller bölümündeki tüm dersler