Modificando Valores por Chave
Parte da seção Fundamentos do Journey de PHP da Coddy. Lição 43 de 71.
Assim como você aprendeu a modificar elementos de arrays indexados por sua posição, pode atualizar valores em arrays associativos usando suas chaves. A sintaxe é idêntica: 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 simplesmente substitui o valor antigo pelo novo. A própria chave permanece inalterada: apenas o valor associado é atualizado.
Isso é útil quando os dados precisam mudar ao longo do tempo. Por exemplo, atualizar o status de um usuário, alterar o preço de um produto ou corrigir 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.
Desafio
FácilLeia uma linha de entrada contendo um objeto JSON que representa as informações de um produto (por exemplo, {"name": "Laptop", "price": 999, "stock": 50}).
Em seguida, leia mais quatro entradas:
- Uma string
key1- a primeira chave a ser atualizada - Uma string
value1- o novo valor parakey1 - Uma string
key2- a segunda chave a ser atualizada - Uma string
value2- o novo valor parakey2
Crie um array associativo a partir da entrada JSON e, em seguida:
- Atualize o valor associado a
key1paravalue1 - Atualize o valor associado a
key2paravalue2 - Imprima o valor atualizado em
key1 - 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 deverá ser:
1099
45Se as entradas forem {"city": "Paris", "country": "France", "population": 2000000}, city, London, country e UK, a saída deverá ser:
London
UKExperimente você mesmo
<?php
// Ler a entrada JSON
$jsonInput = trim(fgets(STDIN));
// Ler as chaves e os valores a atualizar
$key1 = trim(fgets(STDIN));
$value1 = trim(fgets(STDIN));
$key2 = trim(fgets(STDIN));
$value2 = trim(fgets(STDIN));
// Converter JSON para array associativo
$product = (array)json_decode($jsonInput, true);
// TODO: Escreva seu código abaixo
// 1. Atualize o valor associado a key1 para value1
// 2. Atualize o valor associado a key2 para value2
// 3. Imprima os valores atualizados
?>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
4Operadores de Comparação e Lógicos
Operadores de ComparaçãoIgualdade e IdentidadeOperadores Lógicos - Parte 1Operadores Lógicos - Parte 2Revisão - Lógica Simples7Arrays Parte 2 - Associativos
Introdução a Arrays AssociativosAcessando Valores por ChaveModificando Valores por ChaveAdicionando Novos Pares Chave-ValorVerificando se a Chave ExisteRecapitulação - Armazenamento de Dados Chave-Valor2Variáveis e Tipos de Dados
NúmerosStrings e AspasBooleanosConvenções de NomenclaturaRevisão - Inicialização de VariáveisVariáveis VaziasConcatenação de StringsObtendo Entrada do UsuárioConversão para Diferentes Tipos5Lógica Condicional
Instrução IfIf - ElseO Operador TernárioOperador de Coalescência NulaInstrução SwitchRecapitulação - Tomando Decisões3Operadores Básicos
Operadores AritméticosOperador MóduloOperador de ExponenciaçãoAtribuição CombinadaIncremento/DecrementoPrecedência de OperadoresRevisão - Cálculos SimplesOperadores de StringPratique por conta própria: Compilador de PHP online