Menu
Coddy logo textTech

Meydan Okuma: Benzersiz Öge Filtresi

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

challenge icon

Görev

Kolay

Tek bir girdi alacaksınız: yinelenen öğeler içerebilen, virgülle ayrılmış bir öğe dizesi.

Girdi şu biçimde bir dize olacaktır: apple,banana,apple,orange,banana,grape,apple

Girdi dizesini okuyun ve bir öğe dizisine bölün. Yinelenen öğeleri kaldırmak ve her benzersiz öğenin yalnızca ilk örneğini tutmak için özel bir geri çağırma (callback) işleviyle array_filter() kullanın.

Bunu başarmak için, hangi öğelerin daha önce görüldüğünü takip eden bir geri çağırma işlevi oluşturun. Geri çağırma işlevi, ilk kez karşılaşılan öğeler için true, yinelenenler için false döndürmelidir. Geri çağırma işlevinin dışındaki bir değişkeni kullanabilir ve güncellemelerin array_filter'ın geri çağırma işlevine yaptığı çağrılar boyunca kalıcı olması için bu değişkeni use (&$seen) ile referans yoluyla yakalayabilirsiniz.

Filtrelemeden sonra, her bir benzersiz öğeyi orijinal girdide ilk göründükleri sırayla ayrı bir satıra yazdırın.

Girdi biçimi:

  • Virgülle ayrılmış öğeler içeren tek bir satır (örnek: apple,banana,apple,orange)

Beklenen çıktı: Her bir benzersiz öğe, girdideki ilk görünüş sırasına göre ayrı bir satıra yazdırılır

Kendin dene

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

// Girdiyi bir diziye ayır
$items = explode(',', $input);

// TODO: Kodunuzu aşağıya yazın
// Yinelenenleri kaldırmak için özel bir geri çağırma fonksiyonu ile array_filter() kullanın


// Her bir benzersiz öğeyi ayrı bir satıra yazdırın

?>

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

Kendi başına pratik yap: Online PHP derleyicisi