Menu
Coddy logo textTech

Modifying Values by Key

Parte da seção Fundamentos do Journey de PHP da Coddy — lição 43 de 71.

Assim como você aprendeu a modificar elementos de array indexado por sua posição, você pode atualizar valores em arrays associativos usando suas chaves. A sintaxe é idêntica — atribuir um novo valor a uma chave existente.

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

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

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

Quando você atribui um valor a uma chave que já existe, o PHP simplesmente substitui o valor antigo pelo novo. A chave em si permanece inalterada—apenas seu valor associado é atualizado.

Isso é útil quando os dados precisam mudar ao longo do tempo. Por exemplo, atualizando o status de um usuário, alterando o preço de um produto ou corrigindo informações que foram inseridas incorretamente. A chave atua como um ponto de referência estável, enquanto o valor pode ser modificado conforme necessário.

challenge icon

Desafio

Fácil

Leia uma linha de entrada contendo um objeto JSON representando as informações de um produto (por exemplo, {"name": "Laptop", "price": 999, "stock": 50}).

Em seguida, leia mais três entradas:

  • Uma string key1 - a primeira chave a ser atualizada
  • Uma string value1 - o novo valor para key1
  • Uma string key2 - a segunda chave a ser atualizada
  • Uma string value2 - o novo valor para key2

Crie um array associativo a partir da entrada JSON, em seguida:

  1. Atualize o valor associado a key1 para value1
  2. Atualize o valor associado a key2 para value2
  3. Imprima o valor atualizado em key1
  4. Imprima o valor atualizado em key2

Imprima cada resultado em uma linha separada.

Exemplo:

Se as entradas forem {"name": "Laptop", "price": 999, "stock": 50}, price, 1099, stock e 45, a saída deve ser:

1099
45

Se as entradas forem {"city": "Paris", "country": "France", "population": 2000000}, city, London, country e UK, a saída deve ser:

London
UK

Folha de consulta

Para atualizar valores em arrays associativos, atribua um novo valor a uma chave existente:

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

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

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

Quando você atribui um valor a uma chave que já existe, o PHP substitui o valor antigo pelo novo. A chave permanece inalterada — apenas seu valor associado é atualizado.

Experimente você mesmo

<?php
// Leia a entrada JSON
$jsonInput = trim(fgets(STDIN));

// Leia as chaves e valores para atualizar
$key1 = trim(fgets(STDIN));
$value1 = trim(fgets(STDIN));
$key2 = trim(fgets(STDIN));
$value2 = trim(fgets(STDIN));

// Converta JSON para array associativo
$product = (array)json_decode($jsonInput, true);

// TODO: Escreva seu código abaixo
// 1. Atualize o valor associado à key1 para value1
// 2. Atualize o valor associado à key2 para value2
// 3. Imprima os valores atualizados

?>
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Fundamentos