Menu
Coddy logo textTech

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.

challenge icon

Défi

Facile

Lisez 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 pour key1
  • Une chaîne key2 - la seconde clé à mettre à jour
  • Une chaîne value2 - la nouvelle valeur pour key2

Créez un tableau associatif à partir de l'entrée JSON, puis :

  1. Mettez à jour la valeur associée à key1 vers value1
  2. Mettez à jour la valeur associée à key2 vers value2
  3. Affichez la valeur mise à jour à key1
  4. 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
45

Si les entrées sont {"city": "Paris", "country": "France", "population": 2000000}, city, London, country, et UK, la sortie devrait être :

London
UK

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

?>
quiz iconTestez-vous

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