Menu
Coddy logo textTech

Check if Key Exists

Coddy'nin PHP Journey'sinin Temeller bölümünün bir parçası — ders 45 / 71.

İlişkisel dizilerle (associative arrays) çalışırken, değerine erişmeye çalışmadan önce belirli bir anahtarın var olup olmadığını sık sık kontrol etmeniz gerekir. Var olmayan bir anahtara erişmeye çalışmak hatalara neden olabilir, bu nedenle PHP güvenli bir şekilde önce kontrol etmeniz için array_key_exists() fonksiyonunu sunar.

<?php
$person = [
    "name" => "Alice",
    "age" => 25
];

if (array_key_exists("name", $person)) {
    echo "Name exists!";
}

if (array_key_exists("city", $person)) {
    echo "City exists!";
} else {
    echo "City not found";
}
?>

İşlev iki argüman alır: aradığınız key ve içinde arama yapılacak array. Anahtar varsa true, aksi takdirde false döndürür. Bu da onu koşullu ifadelerde kullanım için mükemmel kılar.

Bu kontrol, özellikle kullanıcı girdisi veya harici kaynaklardan gelen veriler gibi tüm beklenen anahtarların mevcut olduğunu garanti edemediğiniz, eksik olabilecek verilerle çalışırken oldukça kullanışlıdır.

challenge icon

Görev

Kolay

Kullanıcı verilerini temsil eden bir JSON nesnesi içeren bir girdi satırını okuyun (örneğin, {"username": "john_doe", "email": "john@example.com", "age": 28}).

Ardından iki girdi daha okuyun:

  • Bir metin key1 - kontrol edilecek ilk anahtar
  • Bir metin key2 - kontrol edilecek ikinci anahtar

JSON girdisinden ilişkisel bir dizi (associative array) oluşturun, ardından:

  1. Dizide key1 anahtarının bulunup bulunmadığını kontrol edin (Check). Eğer varsa, onunla ilişkili değeri yazdırın. Yoksa, Key not found yazdırın.
  2. Dizide key2 anahtarının bulunup bulunmadığını kontrol edin. Eğer varsa, onunla ilişkili değeri yazdırın. Yoksa, Key not found yazdırın.

Her bir sonucu ayrı bir satıra yazdırın.

Örnek:

Girdiler {"username": "john_doe", "email": "john@example.com", "age": 28}, username ve phone ise çıktı şöyle olmalıdır:

john_doe
Key not found

Girdiler {"title": "Manager", "department": "Sales"}, salary ve department ise çıktı şöyle olmalıdır:

Key not found
Sales

Kendin dene

<?php
// JSON girişini oku
$jsonInput = trim(fgets(STDIN));
$key1 = trim(fgets(STDIN));
$key2 = trim(fgets(STDIN));

// JSON'u ilişkisel diziye dönüştür
$userData = (array)json_decode($jsonInput, true);

// TODO: Kodunuzu aşağıya yazın
// key1'in var olup olmadığını kontrol et ve değeri veya talimatlardaki tam metni yazdır

// key2'nin var olup olmadığını kontrol et ve değeri veya talimatlardaki tam metni yazdır

?>
quiz iconKendini test et

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