Modifying Values by Key
Fait partie de la section Fondamentaux du Journey PHP de Coddy — leçon 43 sur 71.
Tout comme vous avez appris à modifier les éléments de tableau indexé par leur position, vous pouvez mettre à jour les valeurs dans les tableaux associatifs en utilisant leurs clés. La syntaxe est identique — assignez une nouvelle valeur à une clé existante.
<?php
$person = [
"name" => "Alice",
"age" => 25,
"city" => "Paris"
];
$person["age"] = 26;
$person["city"] = "London";
echo $person["age"]; // 26
echo $person["city"]; // London
?>Lorsque vous assignez une valeur à une clé qui existe déjà, PHP remplace simplement l'ancienne valeur par la nouvelle. La clé elle-même reste inchangée — seule sa valeur associée est mise à jour.
Cela est utile lorsque les données doivent changer au fil du temps. Par exemple, mettre à jour le statut d'un utilisateur, changer le prix d'un produit, ou corriger des informations qui ont été saisies incorrectement. La clé agit comme un point de référence stable tandis que la valeur peut être modifiée selon les besoins.
Défi
FacileLisez une ligne d'entrée contenant un objet JSON représentant les informations d'un produit (par exemple, {"name": "Laptop", "price": 999, "stock": 50}).
Ensuite, lisez trois entrées supplémentaires :
- Une chaîne
key1- la première clé à mettre à jour - Une chaîne
value1- la nouvelle valeur pourkey1 - Une chaîne
key2- la seconde clé à mettre à jour - Une chaîne
value2- la nouvelle valeur pourkey2
Créez un tableau associatif à partir de l'entrée JSON, puis :
- Mettez à jour la valeur associée à
key1versvalue1 - Mettez à jour la valeur associée à
key2versvalue2 - Affichez la valeur mise à jour à
key1 - Affichez la valeur mise à jour à
key2
Affichez chaque résultat sur une ligne séparée.
Exemple :
Si les entrées sont {"name": "Laptop", "price": 999, "stock": 50}, price, 1099, stock, et 45, la sortie devrait être :
1099
45Si les entrées sont {"city": "Paris", "country": "France", "population": 2000000}, city, London, country, et UK, la sortie devrait être :
London
UKAide-mémoire
Pour mettre à jour les valeurs dans les tableaux associatifs, assignez une nouvelle valeur à une clé existante :
<?php
$person = [
"name" => "Alice",
"age" => 25,
"city" => "Paris"
];
$person["age"] = 26;
$person["city"] = "London";
echo $person["age"]; // 26
echo $person["city"]; // London
?>Lorsque vous assignez une valeur à une clé qui existe déjà, PHP remplace l'ancienne valeur par la nouvelle. La clé reste inchangée — seule sa valeur associée est mise à jour.
Essayez vous-même
<?php
// Lire l'entrée JSON
$jsonInput = trim(fgets(STDIN));
// Lire les clés et les valeurs à mettre à jour
$key1 = trim(fgets(STDIN));
$value1 = trim(fgets(STDIN));
$key2 = trim(fgets(STDIN));
$value2 = trim(fgets(STDIN));
// Convertir JSON en tableau associatif
$product = (array)json_decode($jsonInput, true);
// TODO: Écrivez votre code ci-dessous
// 1. Mettre à jour la valeur associée à key1 vers value1
// 2. Mettre à jour la valeur associée à key2 vers value2
// 3. Afficher les valeurs mises à jour
?>Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Fondamentaux
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