CodeBlanks Logo Icon CodeBlanks

Varsayılan parametre değerleri

PHP kursu · Başlangıç · Ders 78/116

Parametreye varsayılan değer atayıp çağrıda atlanabilmesini öğrenirsin.

Varsayılan değer

Bir parametreye varsayılan değer (default value) atayabilirsin. Bu, çağrıda o parametreye argüman verilmezse kullanılan değerdir. Atama = ile parantez içinde yazılır.

Örnek: function greet($name = "Misafir") { echo $name; }. greet("Ayşe") çağrısı "Ayşe" yazdırır; greet() çağrısı ise argüman vermediği için varsayılan "Misafir" değerini kullanır ve "Misafir" yazdırır.

İsteğe bağlı parametre

Varsayılan değerli parametreler isteğe bağlıdır: çağrıda argüman verilmeyebilir. Bu, çoğu çağrıda aynı olan değerler için pratiktir.

Örneğin function logMessage($msg, $level = "INFO") { echo "[" . $level . "] " . $msg; } tanımında $level isteğe bağlıdır. logMessage("Başladı") çağrısı $level'i atlar ve "INFO" kullanır; logMessage("Hata", "ERROR") çağrısı ise $level'e "ERROR" geçirir. İsteğe bağlı parametreler her zaman zorunlu parametrelerden sonra yazılır.

Uygulama Günlük kaydı yazdır

logMessage adında, $msg ve $level = "INFO" parametreli bir fonksiyon tanımla. Gövdede echo "[" . $level . "] " . $msg . "\n"; yaz. Sonra önce logMessage("Sistem başladı"), sonra logMessage("Bağlantı koptu", "ERROR") çağrılarını yap.

Örnek çözümü göster
function logMessage($msg, $level = "INFO") { ... } tanımla, gövdeye echo "[" . $level . "] " . $msg . "\n"; yaz. İlk çağrı tek argümanlı logMessage("Sistem başladı");, ikinci çağrı iki argümanlı logMessage("Bağlantı koptu", "ERROR"); olsun.
Örnek çözüm:
<?php
// logMessage fonksiyonunu tanımla ve iki kez çağır
function logMessage($msg, $level = "INFO") {
    echo "[" . $level . "] " . $msg . "\n";
}
logMessage("Sistem başladı");
logMessage("Bağlantı koptu", "ERROR");

Kendini test et

  1. Varsayılan değeri tamamla

    function greet($name____) { echo $name; }
    Cevabı göster
    function greet($name = "Misafir") { echo $name; }
  2. Aşağıdaki kodun çıktısı nedir?

    function greet($name = "Misafir") {
        echo $name;
    }
    greet();
    • $name
    • (boş çıktı)
    • Misafir
    • PHP hatası
    Cevabı göster

    Misafir — Doğru. Argüman verilmediği için $name varsayılan 'Misafir' değerini alır.

  3. Varsayılan değer kavramlarını eşle

    Varsayılan değer
    Çağrıda argüman yoksa kullanılır
    $name = "Misafir"
    Varsayılan değer sözdizimi
    İsteğe bağlı
    Varsayılanı olan parametre

Başlangıç bölümündeki tüm dersler