Boş Liste Durumlarını Ele Alma
Coddy'nin PHP Journey'sinin Temeller bölümünün bir parçası. Ders 60 / 71.
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]completedveyapendingolur) - 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
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