Modifying Values by Key
Coddy'nin PHP Journey'sinin Temeller bölümünün bir parçası — ders 43 / 71.
İndekslendirilmiş dizi elemanlarını konumlarına göre değiştirmeyi öğrendiğiniz gibi, ilişkili dizilerdeki değerleri anahtarları kullanarak güncelleyebilirsiniz. Sözdizimi aynıdır—mevcut bir anahtara yeni bir değer atayın.
<?php
$person = [
"name" => "Alice",
"age" => 25,
"city" => "Paris"
];
$person["age"] = 26;
$person["city"] = "London";
echo $person["age"]; // 26
echo $person["city"]; // London
?>Mevcut bir anahtara değer atadığınızda, PHP eski değeri yeni olanla basitçe değiştirir. Anahtar kendisi değişmez—yalnızca ilişkili değeri güncellenir.
Bu, verilerin zamanla değişmesi gerektiğinde kullanışlıdır. Örneğin, bir kullanıcının durumunu güncellemek, bir ürünün fiyatını değiştirmek veya yanlış girilen bilgiyi düzeltmek. Anahtar, sabit bir referans noktası olarak davranırken, değer gerektiğinde değiştirilebilir.
Görev
KolayÜrünün bilgilerini temsil eden bir JSON nesnesi içeren bir giriş satırı okuyun (örneğin, {"name": "Laptop", "price": 999, "stock": 50}).
Sonra üç giriş daha okuyun:
- Bir dize
key1- güncellenecek ilk anahtar - Bir dize
value1-key1için yeni değer - Bir dize
key2- güncellenecek ikinci anahtar - Bir dize
value2-key2için yeni değer
JSON girişinden bir ilişkisel dizi oluşturun, ardından:
key1ile ilişkili değerivalue1olarak güncelleyinkey2ile ilişkili değerivalue2olarak güncelleyinkey1'deki güncellenmiş değeri yazdırınkey2'deki güncellenmiş değeri yazdırın
Her sonucu ayrı bir satıra yazdırın.
Örnek:
Girişler {"name": "Laptop", "price": 999, "stock": 50}, price, 1099, stock ve 45 ise, çıktı şu şekilde olmalıdır:
1099
45Girişler {"city": "Paris", "country": "France", "population": 2000000}, city, London, country ve UK ise, çıktı şu şekilde olmalıdır:
London
UKKopya kağıdı
İlişkili dizilerdeki değerleri güncellemek için, mevcut bir anahtara yeni bir değer atayın:
<?php
$person = [
"name" => "Alice",
"age" => 25,
"city" => "Paris"
];
$person["age"] = 26;
$person["city"] = "London";
echo $person["age"]; // 26
echo $person["city"]; // London
?>Mevcut bir anahtara değer atadığınızda, PHP eski değeri yenisiyle değiştirir. Anahtar değişmez—yalnızca ilişkili değeri güncellenir.
Kendin dene
<?php
// JSON girişini oku
$jsonInput = trim(fgets(STDIN));
// Güncellenecek anahtarları ve değerleri oku
$key1 = trim(fgets(STDIN));
$value1 = trim(fgets(STDIN));
$key2 = trim(fgets(STDIN));
$value2 = trim(fgets(STDIN));
// JSON'u ilişkilendirilmiş diziye dönüştür
$product = (array)json_decode($jsonInput, true);
// TODO: Write your code below
// 1. key1 ile ilişkili değeri value1'e güncelle
// 2. key2 ile ilişkili değeri value2'ye güncelle
// 3. Güncellenmiş değerleri 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
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