Menu
Coddy logo textTech

Varsayılan Parametre Değerleri

Coddy'nin PHP Journey'sinin Temeller bölümünün bir parçası. Ders 64 / 71.

Bazen, bir işlev parametresinin hiçbir bağımsız değişken sağlanmadığında bir geri dönüş değerine sahip olmasını istersin. Varsayılan parametre değerleri, çağıran taraf bunu belirtmediğinde bir parametrenin ne olması gerektiğini tanımlamana olanak tanır.

Varsayılan bir değer ayarlamak için, = operatörünü kullanarak bunu doğrudan işlev bildiriminde atayın:

<?php
function greet($name = "Guest") {
    echo "Hello, $name!\n";
}

greet("Alice");
greet();
?>

Bu, aşağıdakini çıktılar:

Hello, Alice!
Hello, Guest!

greet("Alice") çağrısını yaptığınızda, argüman default değerini geçersiz kılar. Hiç argüman olmadan greet() çağrısını yaptığınızda, PHP bunun yerine "Guest" kullanır.

Zorunlu ve isteğe bağlı parametreleri karıştırabilirsiniz, ancak varsayılan değerlere sahip parametreler zorunlu parametrelerden sonra gelmelidir:

<?php
function createUser($name, $role = "member") {
    return "$name is a $role";
}

echo createUser("Alice") . "\n";
echo createUser("Bob", "admin");
?>

Şu çıktıyı verir:

Alice is a member
Bob is a admin

İlk parametre olan $name gereklidir; $role ise sağlanmadığında varsayılan olarak "member" değerini alır. Bu kalıp, çağıranların her zaman tüm bağımsız değişkenleri sağlamasını gerektirmeden işlevlerinizi daha esnek hâle getirir.

challenge icon

Görev

Kolay

İki giriş satırını okuyun:

  1. Bir ürün adı (ör. Laptop)
  2. Bir miktar (ör. 5). Bu giriş boş olabilir

İki parametre kabul eden formatOrder adlı bir işlev oluşturun: $product (gerekli) ve $quantity (isteğe bağlı, varsayılan değeri 1). İşlev, aşağıdaki biçimde bir dize döndürmelidir:

Order: [quantity]x [product]

Miktar girişi boşsa işlevi yalnızca ürün adıyla (varsayılan miktarı kullanarak) çağırın. Aksi hâlde her iki değerle çağırın.

Döndürülen sonucu yazdırın.

Örnek 1:

Girdiler Laptop ve 5 ise çıktı şöyle olmalıdır:

Order: 5x Laptop

Örnek 2:

Girdiler Keyboard ve boş bir satır ise çıktı şöyle olmalıdır:

Order: 1x Keyboard

Örnek 3:

Girdiler Monitor ve 3 ise çıktı şöyle olmalıdır:

Order: 3x Monitor

Kendin dene

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

// TODO: $product (zorunlu) ve $quantity (isteğe bağlı, varsayılanı 1) ile formatOrder fonksiyonunu oluştur
// Fonksiyon şu formatta bir dize döndürmelidir: "Order: [quantity]x [product]"


// TODO: quantity boş olup olmadığına göre fonksiyonu uygun şekilde çağır
// quantity boşsa, yalnızca product ile çağır (varsayılanı kullan)
// Aksi halde, hem product hem de quantity ile çağır


// 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.

Temeller bölümündeki tüm dersler

Kendi başına pratik yap: Online PHP derleyicisi