Menu
Coddy logo textTech

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 işlevler, PHP'de işlevleri dinamik olarak çağırmanın başka bir yolunu sunar. call_user_func() kullanmak yerine, işlev adını içeren bir değişkeni işlevin kendisiymiş gibi ele alarak bir işlevi doğrudan çağırabilirsiniz.

Sözdizimi basittir: Bir işlev adı içeren bir değişkeniniz varsa, değişkene parantez ekleyerek bu işlevi çağırabilirsiniz:

<?php
function sayHello() {
    echo "Hello World!";
}

$functionName = "sayHello";
$functionName();  // Çıktı: Hello World!
?>

Bu, parametre kabul eden işlevlerle de çalışır. Bağımsız değişkenleri parantezlerin içine geçirmeniz 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, koşullara veya kullanıcı girdisine göre farklı fonksiyonları çağırmanız gerektiğinde özellikle kullanışlıdır; kodunuzu daha esnek ve uyarlanabilir hâle getirir.

challenge icon

Görev

Kolay

Üç işlev 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. Üç girdinin tümünü okuyun, işlev adını bir değişkende saklayın, değişken işlev söz dizimini kullanarak bu işlevi iki ölçümle çağırın ve sonucu yazdırın.

Girdi biçimi: Üç satır - ilk satır işlem adını, ikinci satır uzunluğu (ondalık içerebilen bir sayı), üçüncü satır genişliği (ondalık içerebilen bir sayı) içerir

Beklenen çıktı: Hesaplamanın sonucu

Kendin dene

<?php
// Girdileri oku
$operation = trim(fgets(STDIN));
$length = floatval(fgets(STDIN));
$width = floatval(fgets(STDIN));

// TODO: Üç fonksiyonu burada oluştur (calculateArea, calculatePerimeter, calculateDiagonal)

// TODO: Değişken fonksiyon sözdizimini kullanarak uygun fonksiyonu çağır ve sonucu sakla

// Sonucu yazdır
echo $result;
?>
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