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.
Görev
KolayKullanı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:
- Dizide
key1'in var olup olmadığını kontrol edin. Varsa, onunla ilişkili değeri yazdırın. Yoksa,Key not foundyazdırın. - Dizide
key2'nin var olup olmadığını kontrol edin. Varsa, onunla ilişkili değeri yazdırın. Yoksa,Key not foundyazdı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 foundEğer girdiler {"title": "Manager", "department": "Sales"}, salary ve department ise, çıktı şu şekilde olmalıdır:
Key not found
SalesKopya 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
?>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
4Comparison & Logical Operators
Comparison OperatorsEquality & IdentityLogical Operators Part 1Logical Operators Part 2Recap - Simple Logic7Arrays Part 2 - Associative
Intro to Associative ArraysAccessing Values by KeyModifying Values by KeyAdding New Key-Value PairsCheck if Key ExistsRecap - Key-Value Data Store2Variables and Data Types
NumbersStrings and QuotesBooleansNaming ConventionsRecap - Variable InitEmpty VariablesString ConcatenationGetting User InputCast to Different Types5Conditional Logic
If StatementIf - ElseThe Ternary OperatorNull Coalescing OperatorSwitch StatementRecap - Making Decisions3Basic Operators
Arithmetic OperatorsModulo OperatorExponentiation OperatorCombined AssignmentIncrement/DecrementOperator PrecedenceRecap - Simple CalculationsString Operators