Menu
Coddy logo textTech

Modifying Values by Key

Coddy'nin PHP Journey'sinin Temeller bölümünün bir parçası — ders 43 / 71.

İndisli dizi öğelerini konumlarına göre değiştirmeyi öğrendiğiniz gibi, ilişkili dizilerdeki değerleri anahtarlarını 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
?>

Zaten var olan bir anahtara bir değer atadığınızda, PHP eski değeri yenisiyle 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 yararlıdır. Örneğin, bir kullanıcının durumunu güncellemek, bir ürünün fiyatını değiştirmek veya yanlış girilen bilgileri düzeltmek. Değer gerektiği gibi değiştirilebilirken, anahtar sabit bir referans noktası görevi görür.

challenge icon

Görev

Kolay

Bir ürünün bilgilerini temsil eden bir JSON nesnesi içeren bir girdi satırını okuyun (örneğin, {"name": "Laptop", "price": 999, "stock": 50}).

Ardından dört girdi daha okuyun:

  • Bir dize key1 - güncellenecek ilk anahtar
  • Bir dize value1 - key1 için yeni değer
  • Bir dize key2 - güncellenecek ikinci anahtar
  • Bir dize value2 - key2 için yeni değer

JSON girdisinden bir ilişkisel dizi (associative array) oluşturun, ardından:

  1. key1 ile ilişkili değeri value1 olarak güncelleyin
  2. key2 ile ilişkili değeri value2 olarak güncelleyin
  3. key1 konumundaki güncellenmiş değeri yazdırın
  4. key2 konumundaki 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ı şöyle olmalıdır:

1099
45

Girdiler {"city": "Paris", "country": "France", "population": 2000000}, city, London, country ve UK ise, çıktı şöyle olmalıdır:

London
UK

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'ı ilişkisel diziye (associative array) 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

?>
quiz iconKendini test et

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