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.

Assosiyatif dizilerle çalışırken, değerine erişmeye çalışmadan önce belirli bir anahtarın mevcut olup olmadığını kontrol etmeniz sıkça gerekecektir. Var olmayan bir anahtara erişmeye çalışmak hatalara neden olabilir, bu yüzden PHP güvenli bir şekilde kontrol etmek için array_key_exists() fonksiyonunu sağlar.

<?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";
}
?>

Fonksiyon iki argüman alır: aradığınız anahtar ve aranacak dizi. Anahtar mevcutsa true, değilse false döndürür. Bu, onu koşullu ifadelerde kullanmak için mükemmeldir.

Bu kontrol, eksik olabilecek verilerle—kullanıcı girdisi veya harici kaynaklardan gelen veriler gibi—uğraşırken özellikle faydalıdır; burada beklenen tüm anahtarların mevcut olduğunu garanti edemezsiniz.

challenge icon

Görev

Kolay

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

Ardından iki girdi daha okuyun:

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

JSON girdisinden bir ilişkisel dizi oluşturun, ardından:

  1. Dizide key1'in var olup olmadığını kontrol edin. Varsa, onunla ilişkili değeri yazdırın. Yoksa, Key not found yazdırın.
  2. Dizide key2'nin var olup olmadığını kontrol edin. Varsa, onunla ilişkili değeri yazdırın. Yoksa, Key not found yazdırın.

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

Örnek:

Eğer girdiler {"username": "john_doe", "email": "john@example.com", "age": 28}, username ve phone ise, çıktı şu şekilde olmalıdır:

john_doe
Key not found

Eğer girdiler {"title": "Manager", "department": "Sales"}, salary ve department ise, çıktı şu şekilde olmalıdır:

Key not found
Sales

Kopya kağıdı

array_key_exists() kullanarak bir ilişkisel dizide belirli bir anahtarın erişmeden önce mevcut olup olmadığını kontrol edin:

<?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";
}
?>

Fonksiyon iki argüman alır: aranacak anahtar ve dizi. Anahtar mevcutsa true, değilse false döndürür.

Kendin dene

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

// JSON'u ilişkilendirici 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 edin ve değeri veya "Anahtar bulunamadı" yazdırın

// key2'nin var olup olmadığını kontrol edin ve değeri veya "Anahtar bulunamadı" yazdırın

?>
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