Menu
Coddy logo textTech

Default Parameter Values

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

Bazen bir fonksiyon parametresinin argüman sağlanmadığında bir yedek değere sahip olmasını istersiniz. Varsayılan parametre değerleri, çağıranın belirtmediği durumda parametrenin ne olması gerektiğini tanımlamanıza olanak tanır.

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

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

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

Bu şu çıktıyı üretir:

Hello, Alice!
Hello, Guest!

greet("Alice") çağırdığınızda, argüman varsayılan değeri geçersiz kılar. Hiç argüman vermeden greet() çağırdığınızda, PHP bunun yerine "Guest" kullanır.

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

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

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

Bu şu çıktıyı verir:

Alice is a member
Bob is a admin

İlk parametre $name zorunludur, $role ise sağlanmazsa "member" varsayılan değerini alır. Bu desen, fonksiyonlarınızı çağıranların her argümanı her zaman sağlamasını gerektirmeden daha esnek hale getirir.

challenge icon

Görev

Kolay

İki satır girdi okuyun:

  1. Bir ürün adı (ör., Laptop)
  2. Bir miktar (ör., 5) — bu girdi boş olabilir

formatOrder adında bir fonksiyon oluşturun ki iki parametre alsın: $product (gerekli) ve $quantity (isteğe bağlı, varsayılan 1). Fonksiyon şu formatta bir dize return etmeli:

Order: [quantity]x [product]

Eğer miktar girdisi boşsa, fonksiyonu sadece ürün adıyla çağırın (varsayılan miktarı kullanarak). Aksi takdirde, her iki değeri de kullanarak çağırın.

Dönen sonucu yazdırın.

Örnek 1:

Girdiler Laptop ve 5 ise, çıktı şu olmalı:

Order: 5x Laptop

Örnek 2:

Girdiler Keyboard ve boş bir satır ise, çıktı şu olmalı:

Order: 1x Keyboard

Örnek 3:

Girdiler Monitor ve 3 ise, çıktı şu olmalı:

Order: 3x Monitor

Kopya kağıdı

Varsayılan parametre değerleri, bir argüman sağlanmadığında işlev parametreleri için yedek değerler tanımlamanıza olanak tanır.

Varsayılan bir değer ayarlamak için, işlev bildiriminde = kullanarak atayın:

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

greet("Alice");  // Hello, Alice!
greet();         // Hello, Guest!
?>

Gerekli ve isteğe bağlı parametreleri karıştırırken, varsayılanlara sahip parametreler gerekli olanlardan sonra gelmelidir:

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

echo createUser("Alice");           // Alice is a member
echo createUser("Bob", "admin");    // Bob is a admin
?>

Kendin dene

<?php
// Girişi oku
$product = trim(fgets(STDIN));
$quantity = trim(fgets(STDIN));

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


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


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