Modifying Values by Key
Teil des Abschnitts Grundlagen der PHP-Journey von Coddy — Lektion 43 von 71.
Genauso wie Sie gelernt haben, indizierte Array-Elemente über ihre Position zu ändern, können Sie Werte in assoziativen Arrays mithilfe ihrer Schlüssel aktualisieren. Die Syntax ist identisch – weisen Sie 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 Sie einem bereits existierenden Schlüssel einen Wert zuweisen, 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 das Aktualisieren des Status eines Benutzers, das Ändern des Preises eines Produkts oder das Korrigieren von Informationen, die falsch eingegeben wurden. Der Schlüssel fungiert als stabiler Referenzpunkt, während der Wert nach Bedarf geändert werden kann.
Aufgabe
EinfachLies eine Eingabezeile, die ein JSON-Objekt enthält, das die Informationen eines Produkts darstellt (z. B. {"name": "Laptop", "price": 999, "stock": 50}).
Lies dann vier weitere Eingaben:
- Ein String
key1- der erste zu aktualisierende Schlüssel - Ein String
value1- der neue Wert fürkey1 - Ein String
key2- der zweite zu aktualisierende Schlüssel - Ein String
value2- der neue Wert fürkey2
Erstelle ein assoziatives Array aus der JSON-Eingabe und dann:
- Aktualisiere den mit
key1verknüpften Wert aufvalue1 - Aktualisiere den mit
key2verknüpften Wert aufvalue2 - Gib den aktualisierten Wert bei
key1aus - Gib den aktualisierten Wert bei
key2aus
Gib 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 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
// Lies die JSON-Eingabe
$jsonInput = trim(fgets(STDIN));
// Lies die zu aktualisierenden Schlüssel und Werte
$key1 = trim(fgets(STDIN));
$value1 = trim(fgets(STDIN));
$key2 = trim(fgets(STDIN));
$value2 = trim(fgets(STDIN));
// Konvertiere JSON in ein assoziatives Array
$product = (array)json_decode($jsonInput, true);
// TODO: Schreibe deinen Code unten
// 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
4Comparison & Logical Operators
Comparison OperatorsEquality & IdentityLogical Operators Part 1Logical Operators Part 2Recap - Simple Logic7Arrays Part 2 - Associative
Intro to Associative ArraysAccessing Values by KeyModifying Values by KeyAdding New Key-Value PairsCheck if Key ExistsRecap - Key-Value Data Store2Variables and Data Types
NumbersStrings and QuotesBooleansNaming ConventionsRecap - Variable InitEmpty VariablesString ConcatenationGetting User InputCast to Different Types5Conditional Logic
If StatementIf - ElseThe Ternary OperatorNull Coalescing OperatorSwitch StatementRecap - Making Decisions3Basic Operators
Arithmetic OperatorsModulo OperatorExponentiation OperatorCombined AssignmentIncrement/DecrementOperator PrecedenceRecap - Simple CalculationsString Operators