CodeBlanks Logo Icon CodeBlanks

Anahtarlara erişim

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

Anahtarla değere erişmeyi ve var olmayan anahtar davranışını öğrenirsin.

Anahtarla değere erişim

İlişkisel dizideki bir değere anahtarla erişirsin: $user["name"] gibi. Köşeli parantez içine anahtarı çift tırnakla yazarsın. Erişim yeni bir değer okur; diziyi değiştirmez.

Anahtar dizide yoksa PHP bir uyarı verir ve null döner. Bu yüzden bilinmeyen anahtarlara erişirken dikkatli olmalısın; sonraki adımda güvenli yolunu göreceğiz.

?? operatörü (null coalesce)

Eksik anahtara güvenli erişim için ?? (null coalesce) operatörünü kullanırsın. $a["x"] ?? "y" yazdığında anahtar varsa ve null değilse değeri döner; yoksa ya da null ise sağdaki "y" döner. Uyarı da verilmez.

Bu desen özellikle yapılandırma ve kullanıcı verisi için kullanışlıdır: $config["timeout"] ?? 30 gibi. Öntanımlı değeri tek satırda vermiş olursun.

Uygulama Yapılandırma ve öntanımlı tema

$config ilişkisel dizisini theme ve lang anahtarlarıyla oluştur; değerleri dark ve tr olsun. echo ile theme değerini yazdır; anahtar olmasaydı "light" öntanımlı değeri görünecek biçimde ?? kullan.

Örnek çözümü göster
Önce $config dizisini tanımla; sonra echo ($config["theme"] ?? "light") . "\n"; yaz.
Örnek çözüm:
<?php
// Ayar dizisi ve varsayılan tema
$config = ["theme" => "dark", "lang" => "tr"];
echo ($config["theme"] ?? "light") . "\n";

Kendini test et

  1. Aşağıdaki kod ne yazdırır?

    $user = ["name" => "Ayşe"];
    echo $user["email"] ?? "yok";
    • Ayşe
    • null
    • yok
    • email
    Cevabı göster

    yok — Doğru. "email" anahtarı yok; ?? sağdaki "yok" değerini verir.

  2. Öntanımlı değeri ekle

    echo $user["email"] ____ "yok";
    Cevabı göster
    echo $user["email"] ?? "yok";
  3. Anahtarı değeriyle eşleştir

    name
    Ayşe
    age
    28
    email
    yok

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