Accessing Values by Key
Coddy'nin PHP Journey'sinin Temeller bölümünün bir parçası — ders 42 / 71.
Artık assosiyatif dizilerin ne olduğunu anladığınıza göre, onlardan değerleri nasıl alacağımızı öğrenelim. Sayısal indeksli diziler sayısal konumları kullandığı gibi, assosiyatif diziler köşeli parantezler içindeki anahtarları kullanır.
<?php
$person = [
"name" => "Alice",
"age" => 25,
"city" => "Paris"
];
echo $person["name"]; // Alice
echo $person["age"]; // 25
?>Sözdizimi $array["key"]—anahtarı köşeli parantezlerin içine bir dize olarak yerleştirin ve PHP ilişkili değeri döndürür. Bu, adın 0 indeksi olduğunu hatırlamaktan çok daha okunaklıdır.
Ayrıca, alınan değeri daha sonra kullanmak için bir değişkende saklayabilirsiniz:
<?php
$product = [
"title" => "Laptop",
"price" => 999
];
$itemName = $product["title"];
echo $itemName; // Laptop
?>Anahtar tam olarak eşleşmelidir—büyük/küçük harf dahil. "Name" yerine "name" kullanmak bir hata oluşturur çünkü PHP bunları farklı anahtarlar olarak kabul eder.
Bazen veri bir PHP dizisi yerine JSON dizesi olarak gelir. JSON (JavaScript Object Notation), yapılandırılmış verileri temsil etmek için yaygın bir metin formatıdır. PHP'nin yerleşik json_decode() fonksiyonu bir JSON dizesini PHP değerine dönüştürür. İkinci argüman olarak true verdiğinizde, bir nesne yerine ilişkisel dizi döndürür, böylece değerlere tanıdık $array["key"] sözdizimiyle erişebilirsiniz.
<?php
$json = '{"name": "Alice", "age": 25}';
$data = json_decode($json, true);
echo $data["name"]; // Alice
echo $data["age"]; // 25
?>Görev
KolayBir kitabın bilgilerini temsil eden bir JSON nesnesi içeren bir giriş satırı okuyun (ör. {"title": "The Great Gatsby", "author": "F. Scott Fitzgerald", "year": 1925}).
Ardından iki giriş daha okuyun:
- Erişilecek ilk anahtarı temsil eden bir dize
key1 - Erişilecek ikinci anahtarı temsil eden bir dize
key2
JSON dizesini ilişkisel bir diziye dönüştürmek için yerleşik json_decode() işlevini ikinci argüman olarak true ile kullanın:
$array = json_decode($jsonString, true);
İkinci argüman true, PHP'ye bir nesne yerine ilişkisel dizi döndürmesini söyler. Kodlandıktan sonra, değerlere herhangi bir ilişkisel dizi gibi anahtarla erişebilirsiniz, ör. $array["title"].
JSON girişinden bir ilişkisel dizi oluşturun, ardından:
key1ile ilişkili değeri erişip yazdırınkey2ile ilişkili değeri$infoadlı bir değişkende saklayın$info'da saklanan değeri yazdırın
Her sonucu ayrı bir satıra yazdırın.
Örnek:
Eğer girişler {"title": "The Great Gatsby", "author": "F. Scott Fitzgerald", "year": 1925}, title ve author ise, çıktı şu şekilde olmalıdır:
The Great Gatsby
F. Scott FitzgeraldEğer girişler {"name": "Laptop", "brand": "TechCo", "price": 999}, brand ve price ise, çıktı şu şekilde olmalıdır:
TechCo
999Kopya kağıdı
İlişkisel bir diziden değerleri almak için, kare parantezler içindeki anahtarı kullanın:
$person = [
"name" => "Alice",
"age" => 25,
"city" => "Paris"
];
echo $person["name"]; // Alice
echo $person["age"]; // 25Söz dizimi $array["key"]'dir. Anahtarlar büyük/küçük harfe duyarlıdır.
Alınan değerleri değişkenlerde saklayabilirsiniz:
$product = [
"title" => "Laptop",
"price" => 999
];
$itemName = $product["title"];
echo $itemName; // LaptopBir JSON dizesini ilişkisel bir diziye dönüştürmek için json_decode($jsonString, true) kullanın. İkinci argüman true PHP'ye bir nesne yerine dizi döndürmesini söyler:
$json = '{"name":"Alice","age":25}';
$data = json_decode($json, true);
echo $data["name"]; // Alice
echo $data["age"]; // 25Kendin dene
<?php
// JSON girişini oku
$jsonInput = trim(fgets(STDIN));
// İki anahtarı oku
$key1 = trim(fgets(STDIN));
$key2 = trim(fgets(STDIN));
// TODO: Kodunuzu aşağıya yazın
// 1. json_decode kullanarak JSON girişinden ilişkilendirilmiş dizi oluşturun
// 2. $key1 ile ilişkili değeri erişip yazdırın
// 3. $key2 ile ilişkili değeri $info adlı bir değişkende saklayın
// 4. $info'da saklanan değeri 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