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.
Görev
Kolayİki giriş satırını okuyun:
- Bir ürün adı (ör.
Laptop) - 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 MonitorKendin 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;
?>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
4Karşılaştırma ve Mantıksal Operatörler
Karşılaştırma OperatörleriEşitlik ve KimlikMantıksal Operatörler 1. BölümMantıksal Operatörler 2. BölümTekrar - Basit Mantık2Değişkenler ve Veri Türleri
SayılarDizeler ve Tırnak İşaretleriBoolean DeğerleriAdlandırma KurallarıTekrar - Değişken BaşlatmaBoş DeğişkenlerDize BirleştirmeKullanıcı Girdisi AlmaFarklı Türlere Dönüştürme5Koşullu Mantık
If İfadesiIf - ElseÜçlü OperatörNull Coalescing OperatörüSwitch İfadesiTekrar - Karar Verme3Temel Operatörler
Aritmetik OperatörlerMod Alma OperatörüÜs Alma OperatörüBirleşik AtamaArtırma/AzaltmaOperatör ÖnceliğiTekrar - Basit HesaplamalarDize OperatörleriKendi başına pratik yap: Online PHP derleyicisi