Menu
CoddyTech

Mengubah Nilai Berdasarkan Kunci

Termasuk bagian Dasar-Dasar dalam perjalanan PHP di Coddy. Pelajaran 43 dari 71.

Sama seperti kamu belajar mengubah elemen array berindeks berdasarkan posisinya, kamu bisa memperbarui nilai dalam array asosiatif menggunakan key-nya. Sintaksnya sama: tetapkan nilai baru ke key yang sudah ada.

<?php
$person = [
    "name" => "Alice",
    "age" => 25,
    "city" => "Paris"
];

$person["age"] = 26;
$person["city"] = "London";

echo $person["age"];  // 26
echo $person["city"]; // London
?>

Saat kamu menetapkan nilai ke kunci yang sudah ada, PHP cukup mengganti nilai lama dengan nilai baru. Kuncinya sendiri tetap sama, hanya nilai yang terkait dengannya yang diperbarui.

Ini berguna saat data perlu berubah seiring waktu. Misalnya, memperbarui status pengguna, mengubah harga produk, atau memperbaiki informasi yang dimasukkan secara keliru. Kunci berfungsi sebagai titik acuan yang stabil, sementara nilainya dapat diubah sesuai kebutuhan.

challenge icon

Tantangan

Mudah

Baca satu baris input yang berisi object JSON yang merepresentasikan informasi produk (misalnya, {"name": "Laptop", "price": 999, "stock": 50}).

Lalu baca empat input lagi:

  • String key1, key pertama yang akan diperbarui
  • String value1, nilai baru untuk key1
  • String key2, key kedua yang akan diperbarui
  • String value2, nilai baru untuk key2

Buat associative array dari input JSON, lalu:

  1. Perbarui nilai yang terkait dengan key1 menjadi value1
  2. Perbarui nilai yang terkait dengan key2 menjadi value2
  3. Cetak nilai yang telah diperbarui pada key1
  4. Cetak nilai yang telah diperbarui pada key2

Cetak setiap hasil pada baris terpisah.

Contoh:

Jika inputnya adalah {"name": "Laptop", "price": 999, "stock": 50}, price, 1099, stock, dan 45, outputnya seharusnya:

1099
45

Jika inputnya adalah {"city": "Paris", "country": "France", "population": 2000000}, city, London, country, dan UK, outputnya seharusnya:

London
UK

Coba sendiri

<?php
// Baca input JSON
$jsonInput = trim(fgets(STDIN));

// Baca kunci dan nilai yang akan diperbarui
$key1 = trim(fgets(STDIN));
$value1 = trim(fgets(STDIN));
$key2 = trim(fgets(STDIN));
$value2 = trim(fgets(STDIN));

// Ubah JSON menjadi array asosiatif
$product = (array)json_decode($jsonInput, true);

// TODO: Tulis kodemu di bawah ini
// 1. Perbarui nilai yang terkait dengan key1 menjadi value1
// 2. Perbarui nilai yang terkait dengan key2 menjadi value2
// 3. Cetak nilai yang telah diperbarui

?>
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Dasar-Dasar

Latihan sendiri: Compiler PHP online