Menu
Coddy logo textTech

Ändern von Werten über Schlüssel

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

So wie du gelernt hast, indizierte Array-Elemente anhand ihrer Position zu ändern, kannst du Werte in assoziativen Arrays mithilfe ihrer Schlüssel aktualisieren. Die Syntax ist identisch: Weise einem vorhandenen 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 du einem bereits vorhandenen Schlüssel einen Wert zuweist, ersetzt PHP einfach den alten Wert durch den neuen. Der Schlüssel selbst bleibt unverändert: Nur der zugehörige Wert wird aktualisiert.

Dies ist nützlich, wenn sich Daten im Laufe der Zeit ändern müssen. Zum Beispiel beim Aktualisieren des Status eines Benutzers, beim Ändern des Preises eines Produkts oder beim Korrigieren von Informationen, die falsch eingegeben wurden. Der Schlüssel dient als stabiler Bezugspunkt, während der Wert nach Bedarf geändert werden kann.

challenge icon

Aufgabe

Einfach

Lies eine Eingabezeile ein, die ein JSON-Objekt mit den Informationen eines Produkts darstellt (z. B. {"name": "Laptop", "price": 999, "stock": 50}).

Lies anschließend vier weitere Eingaben ein:

  • Eine Zeichenkette key1 – der erste zu aktualisierende Schlüssel
  • Eine Zeichenkette value1 – der neue Wert für key1
  • Eine Zeichenkette key2 – der zweite zu aktualisierende Schlüssel
  • Eine Zeichenkette value2 – der neue Wert für key2

Erstelle aus der JSON-Eingabe ein assoziatives Array und führe anschließend Folgendes aus:

  1. Aktualisiere den key1 zugeordneten Wert auf value1
  2. Aktualisiere den key2 zugeordneten Wert auf value2
  3. Gib den aktualisierten Wert bei key1 aus
  4. Gib den aktualisierten Wert bei key2 aus

Gib jedes Ergebnis in einer eigenen Zeile aus.

Beispiel:

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

1099
45

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

London
UK

Probier es selbst

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

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

// JSON in ein assoziatives Array konvertieren
$product = (array)json_decode($jsonInput, true);

// TODO: Schreibe deinen Code darunter
// 1. Aktualisiere den mit key1 verknüpften Wert auf value1
// 2. Aktualisiere den mit key2 verknüpften Wert auf value2
// 3. Gib die aktualisierten Werte aus

?>
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

Übe selbstständig: Online-PHP-Compiler