Menu
Coddy logo textTech

Modificar valores por clave

Parte de la sección Fundamentos del Journey de PHP de Coddy. Lección 43 de 71.

Al igual que aprendiste a modificar los elementos de una matriz indexada por su posición, puedes actualizar los valores de las matrices asociativas usando sus claves. La sintaxis es idéntica: asigna un valor nuevo a una clave existente.

<?php
$person = [
    "name" => "Alice",
    "age" => 25,
    "city" => "Paris"
];

$person["age"] = 26;
$person["city"] = "London";

echo $person["age"];  // 26
echo $person["city"]; // London
?>

Cuando asignas un valor a una clave que ya existe, PHP simplemente reemplaza el valor antiguo por el nuevo. La clave permanece sin cambios: solo se actualiza el valor asociado a ella.

Esto es útil cuando los datos necesitan cambiar con el tiempo. Por ejemplo, actualizar el estado de un usuario, cambiar el precio de un producto o corregir información que se introdujo incorrectamente. La clave actúa como un punto de referencia estable, mientras que el valor puede modificarse según sea necesario.

challenge icon

Desafío

Fácil

Lee una línea de entrada que contenga un objeto JSON que represente la información de un producto (por ejemplo, {"name": "Laptop", "price": 999, "stock": 50}).

Después, lee cuatro entradas más:

  • Una cadena key1: la primera clave que se actualizará
  • Una cadena value1: el nuevo valor para key1
  • Una cadena key2: la segunda clave que se actualizará
  • Una cadena value2: el nuevo valor para key2

Crea una matriz asociativa a partir de la entrada JSON y, después:

  1. Actualiza el valor asociado con key1 a value1
  2. Actualiza el valor asociado con key2 a value2
  3. Imprime el valor actualizado en key1
  4. Imprime el valor actualizado en key2

Imprime cada resultado en una línea separada.

Ejemplo:

Si las entradas son {"name": "Laptop", "price": 999, "stock": 50}, price, 1099, stock y 45, la salida debería ser:

1099
45

Si las entradas son {"city": "Paris", "country": "France", "population": 2000000}, city, London, country y UK, la salida debería ser:

London
UK

Pruébalo tú mismo

<?php
// Lee la entrada JSON
$jsonInput = trim(fgets(STDIN));

// Lee las claves y valores a actualizar
$key1 = trim(fgets(STDIN));
$value1 = trim(fgets(STDIN));
$key2 = trim(fgets(STDIN));
$value2 = trim(fgets(STDIN));

// Convierte JSON a array asociativo
$product = (array)json_decode($jsonInput, true);

// TODO: Escribe tu código debajo
// 1. Actualiza el valor asociado con key1 a value1
// 2. Actualiza el valor asociado con key2 a value2
// 3. Imprime los valores actualizados

?>
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Fundamentos

Practica por tu cuenta: Compilador de PHP online