Özet: Fonksiyon Karması
Coddy'nin PHP Journey'sinin Mantık ve Akış bölümünün bir parçası. Ders 9 / 68.
Görev
KolayÖğrendiğiniz birden çok işlev kavramını birleştiren bir metin işleme sistemi oluşturun. Metin verilerini işlemek için birkaç işlev uygulamanız ve bunları birlikte kullanmanız gerekecek.
İlk olarak, bir dize alan ve onu ters çevrilmiş hâliyle döndüren, $reverseText adlı bir değişkende saklanan anonim bir işlev oluşturun.
Ardından, bir dize alan ve içindeki sesli harflerin (a, e, i, o, u - büyük/küçük harf duyarsız) sayısını döndüren countVowels adlı normal bir işlev oluşturun.
Daha sonra üç parametre kabul eden processText adlı bir işlev oluşturun: bir metin dizesi, bir işlem adı ve bir geri çağırma işlevi. Bu işlev şunları yapmalıdır:
- İşlem
"reverse"ise metni ters çevirmek için geri çağırmayı uygulayın ve sonucu döndürün - İşlem
"vowels"ise sesli harfleri saymak için geri çağırmayı uygulayın ve sayıyı döndürün - İşlem
"length"ise metnin uzunluğunu döndürün
İki girdi alacaksınız: işlem adı ("reverse", "vowels" veya "length") ve işlenecek metin. Her iki girdiyi de okuyun, işleme göre hangi işlevin kullanılacağını belirleyin, processText işlevini uygun parametrelerle çağırın ve sonucu yazdırın.
Girdi biçimi: İki satır - ilk satır işlem adını, ikinci satır işlenecek metni içerir
Beklenen çıktı: İşleme göre sonuç - "reverse" için ters çevrilmiş metin, "vowels" için sesli harf sayısı veya "length" için metin uzunluğu
Kendin dene
<?php
// Girdiyi oku
$operation = trim(fgets(STDIN));
$text = trim(fgets(STDIN));
// YAPILACAK: Kodunuzu aşağıya yazın
// $reverseText anonim fonksiyonunu oluşturun
// countVowels fonksiyonunu oluşturun
// processText fonksiyonunu oluşturun
// İşleme bağlı olarak uygun parametrelerle processText fonksiyonunu çağırın
// Sonucu yazdırın
echo $result;
?>Mantık ve Akış bölümündeki tüm dersler
1İleri Seviye Fonksiyonlar
Anonim FonksiyonlarClosure'lar ve 'use'Ok Fonksiyonları (Arrow Functions)Geri Çağırma (Callback) Fonksiyonları'call_user_func' KullanımıDeğişken FonksiyonlarReferans ile Değer AktarımıÖz Yinelemeli (Recursive) FonksiyonlarÖzet: Fonksiyon Karması4Çok Boyutlu Diziler
2 Boyutlu Dizi Oluşturma2 Boyutlu Dizi Elemanlarına Erişme2 Boyutlu Dizi Elemanlarını Değiştirmeİç İçe Döngülerle Yineleme2 Boyutlu İlişkisel DizilerÖzet: Basit Izgara Egzersizi2İleri Düzey Dizi İşlemleri
'array_push' ile Ekleme'array_pop' ile Silme'array_unshift' ile Ekleme'array_shift' ile Silmeİndisli Dizileri Birleştirmeİlişkisel Dizileri Birleştirme'array_slice' ile Kesit Alma'in_array' ile Değer Kontrolü'array_search' ile Anahtar AramaÖzet: Çalma Listesi Alıştırması3Dizileri Sıralama
İndisli Dizileri Artan Sırada Sıralamaİndisli Dizileri Azalan Sırada Sıralamaİlişkisel Dizileri Değere Göre Sıralamaİlişkisel Dizileri Anahtara Göre SıralamaDoğal Sıralama (Natural Order)'usort' ile Özel SıralamaÖzet: Liderlik Tablosu SıralamaKendi başına pratik yap: Online PHP derleyicisi