Değişken Fonksiyonlar
Coddy'nin PHP Journey'sinin Mantık ve Akış bölümünün bir parçası — ders 6 / 68.
Değişken fonksiyonlar, PHP'de fonksiyonları dinamik olarak çağırmanın başka bir yolunu sunar. call_user_func() kullanmak yerine, fonksiyon adını içeren bir değişkeni fonksiyonun kendisiymiş gibi ele alarak bir fonksiyonu doğrudan çağırabilirsiniz.
Söz dizimi basittir: bir fonksiyon adı içeren bir değişkeniniz varsa, değişkene parantez ekleyerek o fonksiyonu çağırabilirsiniz:
<?php
function sayHello() {
echo "Hello World!";
}
$functionName = "sayHello";
$functionName(); // Çıktı: Hello World!
?>Bu, parametre kabul eden fonksiyonlarla da çalışır. Argümanları parantez içine yazmanız yeterlidir:
<?php
function greet($name) {
echo "Hello, " . $name . "!";
}
$func = "greet";
$func("Alice"); // Çıktı: Hello, Alice!
?>Değişken fonksiyonlar, kodu dinamik olarak yürütmek için temiz ve sezgisel bir yol sunar. Bu özellik, özellikle koşullara veya kullanıcı girişine bağlı olarak farklı fonksiyonları çağırmanız gerektiğinde yararlıdır ve kodunuzu daha esnek ve uyarlanabilir hale getirir.
Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Görev
KolayÜç fonksiyon oluşturun: iki sayı (uzunluk ve genişlik) alan ve bunların çarpımını döndüren calculateArea, iki sayı alan ve toplamlarının iki katını döndüren calculatePerimeter ve iki sayı alan ve karelerinin toplamının karekökünü döndüren calculateDiagonal.
Üç girdi alacaksınız: işlem adı ("area", "perimeter" veya "diagonal"), uzunluk ve genişlik. Her üç girdiyi de okuyun, fonksiyon adını bir değişkende saklayın, iki ölçümle birlikte değişken fonksiyon sözdizimini kullanarak bu fonksiyonu çağırın ve sonucu yazdırın.
Giriş formatı: Üç satır - ilk satır işlem adını içerir, ikinci satır uzunluğu (ondalık sayılar içerebilen bir sayı) içerir, üçüncü satır genişliği (ondalık sayılar içerebilen bir sayı) içerir
Beklenen çıktı: Hesaplamanın sonucu
Kopya kağıdı
Değişken fonksiyonlar, fonksiyon adını içeren bir değişkeni fonksiyonun kendisi gibi değerlendirerek fonksiyonları dinamik olarak çağırmanıza olanak tanır.
Temel sözdizimi - fonksiyon adı içeren bir değişkene parantez ekleyin:
<?php
function sayHello() {
echo "Hello World!";
}
$functionName = "sayHello";
$functionName(); // Çıktı: Hello World!
?>Değişken fonksiyonlar parametrelerle de çalışır:
<?php
function greet($name) {
echo "Hello, " . $name . "!";
}
$func = "greet";
$func("Alice"); // Çıktı: Hello, Alice!
?>Kendin dene
<?php
// Girdileri oku
$operation = trim(fgets(STDIN));
$length = floatval(fgets(STDIN));
$width = floatval(fgets(STDIN));
// TODO: Üç fonksiyonu burada oluşturun (calculateArea, calculatePerimeter, calculateDiagonal)
// TODO: Değişken fonksiyon sözdizimini kullanarak uygun fonksiyonu çağırın ve sonucu saklayın
// Sonucu yazdır
echo $result;
?>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
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ıralama