isset() ile anahtar kontrolü
isset() ile bir anahtarın varlığını ve array_key_exists() farkını öğrenirsin.
isset() ile anahtar kontrolü
Bir anahtarın dizide var olup olmadığını isset() ile kontrol edersin. isset($user["phone"]) yazdığında anahtar varsa ve değeri null değilse true, yoksa ya da null ise false döner. Uyarı da vermez.
Örneğin telefon numarası isteğe bağlıysa önce isset ile kontrol eder, varsa yazdırırsın. Bu, eksik anahtara doğrudan erişimden kaynaklanan uyarıyı önler.
null değer ve anahtar kontrolü
Bazen bir anahtar dizide vardır ama değeri null olur. isset() bu durumda false döner; çünkü null değerleri "ayarlanmamış" sayar. Oysa array_key_exists() yalnızca anahtarın varlığına bakar ve null değerde true döner.
Örnek: $user = ["phone" => null] için isset($user["phone"]) false, array_key_exists("phone", $user) true olur. Çoğu durumda isset yeterlidir; "anahtar bilinçle null" ayrımı önemliyse array_key_exists kullanırsın.
Uygulama Telefon kontrolü
$user ilişkisel dizisini "name" => "Ayşe" ve "email" => "ayse@mail.com" ile oluştur. isset() ile "phone" anahtarını kontrol et; varsa yazdır, yoksa Telefon yok yazdır.
Örnek çözümü göster
if (isset($user["phone"])) { ... } else { echo "Telefon yok\n"; } yapısını kur.
Örnek çözüm:
<?php
// Kullanıcı ve telefon kontrolü
$user = ["name" => "Ayşe", "email" => "ayse@mail.com"];
if (isset($user["phone"])) {
echo $user["phone"] . "\n";
} else {
echo "Telefon yok\n";
}
Kendini test et
-
isset() ile array_key_exists() arasındaki fark nedir?
- isset() null değer için true döner, array_key_exists() false döner
- İkisi de aynıdır
- isset() sadece sayısal anahtarları kontrol eder
- isset() null değer için false döner, array_key_exists() true döner
Cevabı göster
isset() null değer için false döner, array_key_exists() true döner — Doğru. isset() null değere false verir; array_key_exists() ise anahtar varsa true verir.
-
isset çağrısını tamamla
if (____($user["phone"])) { echo $user["phone"]; }Cevabı göster
if (isset($user["phone"])) { echo $user["phone"]; } -
İşlevi davranışıyla eşleştir
- isset($a["x"])
- anahtar yoksa false döner
- array_key_exists("x", $a)
- anahtar varsa true döner
- $a["x"] ?? "y"
- anahtar yoksa "y" döner