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.
Görev
Kolayİki satır girdi okuyun:
- Bir ürün adı (ör.,
Laptop) - 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 MonitorKopya 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;
?>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
4Comparison & Logical Operators
Comparison OperatorsEquality & IdentityLogical Operators Part 1Logical Operators Part 2Recap - Simple Logic2Variables and Data Types
NumbersStrings and QuotesBooleansNaming ConventionsRecap - Variable InitEmpty VariablesString ConcatenationGetting User InputCast to Different Types5Conditional Logic
If StatementIf - ElseThe Ternary OperatorNull Coalescing OperatorSwitch StatementRecap - Making Decisions3Basic Operators
Arithmetic OperatorsModulo OperatorExponentiation OperatorCombined AssignmentIncrement/DecrementOperator PrecedenceRecap - Simple CalculationsString Operators