Menu
Coddy logo textTech

Modifying Values by Key

Teil des Abschnitts Grundlagen der PHP-Journey von Coddy — Lektion 43 von 71.

Genau wie du gelernt hast, indizierte Array-Elemente anhand ihrer Position zu modifizieren, kannst du Werte in assoziativen Arrays mit ihren Schlüsseln aktualisieren. Die Syntax ist identisch – weise einem bestehenden Schlüssel einen neuen Wert zu.

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

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

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

Wenn Sie einem Schlüssel, der bereits existiert, einen Wert zuweisen, ersetzt PHP einfach den alten Wert durch den neuen. Der Schlüssel selbst bleibt unverändert – nur sein zugeordneter Wert wird aktualisiert.

Das ist nützlich, wenn Daten im Laufe der Zeit geändert werden müssen. Zum Beispiel, das Aktualisieren des Status eines Benutzers, das Ändern des Preises eines Produkts oder das Korrigieren falsch eingegebener Informationen. Der Schlüssel dient als stabiler Referenzpunkt, während der Wert bei Bedarf geändert werden kann.

challenge icon

Aufgabe

Einfach

Lesen Sie eine Zeile Eingabe, die ein JSON-Objekt enthält, das die Informationen eines Produkts darstellt (z. B. {"name": "Laptop", "price": 999, "stock": 50}).

Dann lesen Sie drei weitere Eingaben:

  • Ein String key1 – der erste Schlüssel zum Aktualisieren
  • Ein String value1 – der neue Wert für key1
  • Ein String key2 – der zweite Schlüssel zum Aktualisieren
  • Ein String value2 – der neue Wert für key2

Erstellen Sie ein assoziatives Array aus der JSON-Eingabe, dann:

  1. Aktualisieren Sie den Wert, der mit key1 assoziiert ist, auf value1
  2. Aktualisieren Sie den Wert, der mit key2 assoziiert ist, auf value2
  3. Geben Sie den aktualisierten Wert bei key1 aus
  4. Geben Sie den aktualisierten Wert bei key2 aus

Geben Sie jedes Ergebnis in einer separaten Zeile aus.

Beispiel:

Wenn die Eingaben {"name": "Laptop", "price": 999, "stock": 50}, price, 1099, stock und 45 sind, sollte die Ausgabe sein:

1099
45

Wenn die Eingaben {"city": "Paris", "country": "France", "population": 2000000}, city, London, country und UK sind, sollte die Ausgabe sein:

London
UK

Spickzettel

Um Werte in assoziativen Arrays zu aktualisieren, weisen Sie einen neuen Wert einem bestehenden Schlüssel zu:

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

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

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

Wenn Sie einem Schlüssel, der bereits existiert, einen Wert zuweisen, ersetzt PHP den alten Wert durch den neuen. Der Schlüssel bleibt unverändert – nur sein zugehöriger Wert wird aktualisiert.

Probier es selbst

<?php
// JSON-Eingabe lesen
$jsonInput = trim(fgets(STDIN));

// Schlüssel und Werte zum Aktualisieren lesen
$key1 = trim(fgets(STDIN));
$value1 = trim(fgets(STDIN));
$key2 = trim(fgets(STDIN));
$value2 = trim(fgets(STDIN));

// JSON zu assoziativem Array konvertieren
$product = (array)json_decode($jsonInput, true);

// TODO: Schreibe deinen Code unten
// 1. Aktualisiere den Wert, der mit key1 assoziiert ist, zu value1
// 2. Aktualisiere den Wert, der mit key2 assoziiert ist, zu value2
// 3. Drucke die aktualisierten Werte

?>
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Grundlagen