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.
Görev
KolayKullanı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:
key1dizide mevcut mu kontrol edin. Mevcutsa, onunla ilişkilendirilmiş değeri yazdırın. Mevcut değilseKey not foundyazdırın.key2dizide mevcut mu kontrol edin. Mevcutsa, onunla ilişkilendirilmiş değeri yazdırın. Mevcut değilseKey not foundyazdı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 foundGirdiler {"title": "Manager", "department": "Sales"}, salary ve department ise çıktı şu şekilde olmalıdır:
Key not found
SalesKendin 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
?>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
4Karşılaştırma ve Mantıksal Operatörler
Karşılaştırma OperatörleriEşitlik ve KimlikMantıksal Operatörler 1. BölümMantıksal Operatörler 2. BölümTekrar - Basit Mantık7Diziler 2. Bölüm - İlişkisel Diziler
İlişkisel Dizilere GirişAnahtarla Değerlere ErişmeAnahtarla Değerleri DeğiştirmeYeni Anahtar-Değer Çiftleri EklemeAnahtarın Var Olup Olmadığını Kontrol EtmeTekrar - Anahtar-Değer Veri Deposu2Değişkenler ve Veri Türleri
SayılarDizeler ve Tırnak İşaretleriBoolean DeğerleriAdlandırma KurallarıTekrar - Değişken BaşlatmaBoş DeğişkenlerDize BirleştirmeKullanıcı Girdisi AlmaFarklı Türlere Dönüştürme5Koşullu Mantık
If İfadesiIf - ElseÜçlü OperatörNull Coalescing OperatörüSwitch İfadesiTekrar - Karar Verme3Temel Operatörler
Aritmetik OperatörlerMod Alma OperatörüÜs Alma OperatörüBirleşik AtamaArtırma/AzaltmaOperatör ÖnceliğiTekrar - Basit HesaplamalarDize OperatörleriKendi başına pratik yap: Online PHP derleyicisi