Menu
CoddyTech

Modificar valores mediante una clave

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

Al igual que aprendiste a modificar elementos de una matriz indexada según su posición, puedes actualizar valores en matrices asociativas usando sus claves. La sintaxis es idéntica: asigna un nuevo valor 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 en sí permanece sin cambios: solo se actualiza el valor asociado.

Esto es útil cuando los datos deben cambiar con el tiempo. Por ejemplo, al actualizar el estado de un usuario, cambiar el precio de un producto o corregir información que se ingresó 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 (p. ej., {"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 de key1
  • Una cadena key2: la segunda clave que se actualizará
  • Una cadena value2: el nuevo valor de key2

Crea un arreglo asociativo a partir de la entrada JSON y, luego:

  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 los valores que se van a actualizar
$key1 = trim(fgets(STDIN));
$value1 = trim(fgets(STDIN));
$key2 = trim(fgets(STDIN));
$value2 = trim(fgets(STDIN));

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

// TODO: Escribe tu código a continuación
// 1. Actualiza el valor asociado a key1 con value1
// 2. Actualiza el valor asociado a key2 con 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