Menu
Coddy logo textTech

Modyfikowanie wartości za pomocą klucza

Część sekcji Podstawy ścieżki PHP w Coddy. Lekcja 43 z 71.

Tak jak nauczyłeś się modyfikować elementy tablicy indeksowanej na podstawie ich pozycji, możesz aktualizować wartości w tablicach asocjacyjnych za pomocą ich kluczy. Składnia jest identyczna: przypisz nową wartość do istniejącego klucza.

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

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

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

Gdy przypiszesz wartość do klucza, który już istnieje, PHP po prostu zastąpi starą wartość nową. Sam klucz pozostanie bez zmian — zaktualizowana zostanie tylko przypisana do niego wartość.

Jest to przydatne, gdy dane muszą zmieniać się w czasie. Na przykład podczas aktualizowania statusu użytkownika, zmieniania ceny produktu lub poprawiania nieprawidłowo wprowadzonych informacji. Klucz służy jako stały punkt odniesienia, a wartość można modyfikować w razie potrzeby.

challenge icon

Wyzwanie

Łatwy

Wczytaj wiersz danych wejściowych zawierający obiekt JSON reprezentujący informacje o produkcie (np. {"name": "Laptop", "price": 999, "stock": 50}).

Następnie wczytaj cztery kolejne dane wejściowe:

  • Ciąg znaków key1 — pierwszy klucz do zaktualizowania
  • Ciąg znaków value1 — nowa wartość dla key1
  • Ciąg znaków key2 — drugi klucz do zaktualizowania
  • Ciąg znaków value2 — nowa wartość dla key2

Utwórz tablicę asocjacyjną na podstawie danych wejściowych JSON, a następnie:

  1. Zaktualizuj wartość przypisaną do key1 na value1
  2. Zaktualizuj wartość przypisaną do key2 na value2
  3. Wypisz zaktualizowaną wartość dla key1
  4. Wypisz zaktualizowaną wartość dla key2

Wypisz każdy wynik w osobnym wierszu.

Przykład:

Jeśli danymi wejściowymi są {"name": "Laptop", "price": 999, "stock": 50}, price, 1099, stock i 45, wynikiem powinno być:

1099
45

Jeśli danymi wejściowymi są {"city": "Paris", "country": "France", "population": 2000000}, city, London, country i UK, wynikiem powinno być:

London
UK

Spróbuj swoich sił

<?php
// Odczytaj dane wejściowe JSON
$jsonInput = trim(fgets(STDIN));

// Odczytaj klucze i wartości do zaktualizowania
$key1 = trim(fgets(STDIN));
$value1 = trim(fgets(STDIN));
$key2 = trim(fgets(STDIN));
$value2 = trim(fgets(STDIN));

// Przekształć JSON w tablicę asocjacyjną
$product = (array)json_decode($jsonInput, true);

// TODO: Napisz swój kod poniżej
// 1. Zaktualizuj wartość przypisaną do klucza key1 na value1
// 2. Zaktualizuj wartość przypisaną do klucza key2 na value2
// 3. Wypisz zaktualizowane wartości

?>
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Podstawy

Poćwicz samodzielnie: Kompilator PHP online