Boş Liste Senaryoları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
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