Menu
Coddy logo textTech

'array_filter' ile Filtreleme

Coddy'nin PHP Journey'sinin Mantık ve Akış bölümünün bir parçası. Ders 41 / 68.

array_filter() fonksiyonu, yalnızca belirli kriterleri karşılayan öğeleri içeren yeni bir dizi oluşturmak için tasarlanmıştır. Her öğeyi dönüştüren array_map() fonksiyonunun aksine, array_filter() öğeleri bir testi geçip geçmediklerine bağlı olarak seçici bir şekilde tutar.

Bir geri çağırma (callback) fonksiyonu olmadan kullanıldığında, array_filter() bir dizideki tüm "boş" değerleri otomatik olarak kaldırır. PHP birkaç değeri boş olarak kabul eder: false, null, 0, boş dizeler "" ve boş diziler.

<?php
$mixedData = ["hello", 0, "world", false, null, "PHP", ""];
$cleanedData = array_filter($mixedData);
// Sonuç: ["hello", "world", "PHP"]
?>

Bu davranış, array_filter() fonksiyonunu veri dizilerini temizlemek için son derece kullanışlı hale getirir. Orijinal dizi değişmeden kalır ve yalnızca anlamlı değerleri içeren yeni bir dizi elde edersiniz. Bu, özellikle kullanıcı girişini işlerken veya istenmeyen boş değerler içerebilecek verilerle çalışırken yararlıdır.

challenge icon

Görev

Kolay

Bir girdi alacaksınız: sayılar, boş dizeler, sıfırlar ve metin yanıtları dahil olmak üzere çeşitli veri türlerini içeren virgülle ayrılmış bir anket yanıtları listesi. Girdi yes,0,,no,5,,true,false,answer formatında olacaktır.

Girdiyi okuyun, virgülle ayrılmış değerleri bir diziye dönüştürün, tüm boş değerleri kaldırmak için bir geri çağırma (callback) fonksiyonu olmadan array_filter() kullanın ve kalan her değeri göründükleri sırayla ayrı bir satıra yazdırın.

Geri çağırma fonksiyonu olmadan kullanılan array_filter() fonksiyonunun, PHP'nin boş olarak kabul ettiği değerleri otomatik olarak kaldırdığını unutmayın: false, null, 0, boş dizeler "" ve boş diziler.

Girdi formatı: Virgülle ayrılmış değerler içeren tek bir satır (örnek: yes,0,,no,5,,true,false,answer)

Beklenen çıktı: Filtrelenmiş dizide göründükleri sırayla, her bir boş olmayan değerin ayrı bir satıra yazdırılması

Kendin dene

<?php
// Girdiyi oku
$input = trim(fgets(STDIN));

// Virgülle ayrılmış değerleri bir diziye dönüştür
$responses = explode(',', $input);

// TODO: Kodunuzu aşağıya yazın
// Boş değerleri kaldırmak için array_filter() kullanın ve kalan her değeri yazdırın


?>
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Mantık ve Akış bölümündeki tüm dersler

Kendi başına pratik yap: Online PHP derleyicisi