Ä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.
Aufgabe
EinfachLies 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ürkey1 - Eine Zeichenkette
key2– der zweite zu aktualisierende Schlüssel - Eine Zeichenkette
value2– der neue Wert fürkey2
Erstelle aus der JSON-Eingabe ein assoziatives Array und führe anschließend Folgendes aus:
- Aktualisiere den
key1zugeordneten Wert aufvalue1 - Aktualisiere den
key2zugeordneten Wert aufvalue2 - Gib den aktualisierten Wert bei
key1aus - Gib den aktualisierten Wert bei
key2aus
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
45Wenn die Eingaben {"city": "Paris", "country": "France", "population": 2000000}, city, London, country und UK sind, sollte die Ausgabe wie folgt aussehen:
London
UKProbier 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
?>Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Grundlagen
4Vergleichs- und logische Operatoren
VergleichsoperatorenGleichheit und IdentitätLogische Operatoren Teil 1Logische Operatoren Teil 2Zusammenfassung – Einfache Logik7Arrays Teil 2 – Assoziative Arrays
Einführung in assoziative ArraysZugriff auf Werte über SchlüsselÄndern von Werten über SchlüsselNeue Schlüssel-Wert-Paare hinzufügenPrüfen, ob ein Schlüssel vorhanden istZusammenfassung – Schlüssel-Wert-Datenspeicher2Variablen und Datentypen
ZahlenStrings und AnführungszeichenBoolesche WerteNamenskonventionenRückblick – VariableninitialisierungLeere VariablenString-VerkettungBenutzereingabenIn andere Datentypen umwandeln5Bedingte Logik
If-AnweisungIf - ElseDer ternäre OperatorNull-Koaleszenz-OperatorSwitch-AnweisungZusammenfassung – Entscheidungen treffen8Schleifen
For-SchleifeWhile-SchleifeForeach-SchleifeSchleifen mit Schlüsseln und WertenBreak-AnweisungContinue-AnweisungRückblick – Iterieren über Daten11Abschließende Herausforderungen
Herausforderung – FakultätsberechnungHerausforderung – Längstes WortHerausforderung – Vokalzähler3Grundlegende Operatoren
Arithmetische OperatorenModulo-OperatorPotenzierungsoperatorZusammengesetzte ZuweisungInkrement/DekrementOperatorrangfolgeRückblick – Einfache BerechnungenString-OperatorenÜbe selbstständig: Online-PHP-Compiler