Menu
Coddy logo textTech

Anahtarın Var Olup Olmadığını Kontrol Etme

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

İlişkisel dizilerle ç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, önce güvenli bir şekilde kontrol etmeniz için array_key_exists() işlevini 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";
}
?>

Fonksiyon iki bağımsız değişken alır: aradığınız anahtar ve içinde arama yapılacak dizi. Anahtar mevcutsa true, aksi takdirde false döndürür. Bu, onu koşullu ifadelerde kullanım için mükemmel kılar.

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

challenge icon

Görev

Kolay

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

Ardından iki giriş daha okuyun:

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

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

  1. key1 dizide mevcut mu kontrol edin. Mevcutsa, onunla ilişkilendirilmiş değeri yazdırın. Mevcut değilse Key not found yazdırın.
  2. key2 dizide mevcut mu kontrol edin. Mevcutsa, onunla ilişkilendirilmiş değeri yazdırın. Mevcut değilse Key not found yazdırın.

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

Örnek:

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

Girdiler {"title": "Manager", "department": "Sales"}, salary ve department ise çıktı şu şekilde 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: Kodunu aşağıya yaz
// key1 varsa kontrol et ve değeri veya talimatlardaki tam metni yazdır

// key2 varsa 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

Kendi başına pratik yap: Online PHP derleyicisi