Anahtarla Değerleri Değiştirme
Coddy'nin PHP Journey'sinin Temeller bölümünün bir parçası. Ders 43 / 71.
İndeksli dizi öğelerini konumlarına göre değiştirmeyi öğrendiğin gibi, ilişkisel dizilerdeki değerleri de anahtarlarını kullanarak güncelleyebilirsin. Sözdizimi aynıdır: mevcut bir anahtara yeni bir değer ata.
<?php
$person = [
"name" => "Alice",
"age" => 25,
"city" => "Paris"
];
$person["age"] = 26;
$person["city"] = "London";
echo $person["age"]; // 26
echo $person["city"]; // London
?>Zaten mevcut olan bir anahtara bir değer atadığınızda, PHP eski değeri yeni değerle basitçe değiştirir. Anahtarın kendisi değişmeden kalır: yalnızca onunla ilişkili değer güncellenir.
Bu, verilerin zaman içinde 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ış girilmiş bilgileri düzeltmek için kullanılabilir. Değer gerektiğinde değiştirilebilirken anahtar, sabit bir referans noktası görevi görür.
Görev
KolayBir ürünün bilgilerini temsil eden bir JSON nesnesi içeren bir girdi satırı okuyun (ör. {"name": "Laptop", "price": 999, "stock": 50}).
Ardından dört girdi daha okuyun:
- Bir string
key1- güncellenecek ilk anahtar - Bir string
value1-key1için yeni değer - Bir string
key2- güncellenecek ikinci anahtar - Bir string
value2-key2için yeni değer
JSON girdisinden bir ilişkisel dizi oluşturun, ardından:
key1ile ilişkilendirilmiş değerivalue1olarak güncelleyinkey2ile ilişkilendirilmiş değerivalue2olarak güncelleyinkey1içindeki güncellenmiş değeri yazdırınkey2içindeki güncellenmiş değeri yazdırın
Her sonucu ayrı bir satıra yazdırın.
Örnek:
Girdiler {"name": "Laptop", "price": 999, "stock": 50}, price, 1099, stock ve 45 ise çıktı şu olmalıdır:
1099
45Girdiler {"city": "Paris", "country": "France", "population": 2000000}, city, London, country ve UK ise çıktı şu olmalıdır:
London
UKKendin 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şkisel diziye dönüştür
$product = (array)json_decode($jsonInput, true);
// TODO: Kodunuzu aşağıya yazın
// 1. key1 ile ilişkili değeri value1 olarak güncelle
// 2. key2 ile ilişkili değeri value2 olarak 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
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