Menu
Coddy logo textTech

Recap - Key-Value Data Store

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

challenge icon

Desafio

Fácil

Leia uma linha de entrada contendo um objeto JSON representando as informações de um contato (por exemplo, {"name": "Alice", "phone": "555-1234"}).

Em seguida, leia as seguintes entradas:

  • Uma string keyToCheck - uma chave para verificar se ela existe
  • Uma string keyToModify - uma chave existente para atualizar
  • Uma string newValue - o novo valor para keyToModify
  • Uma string newKey - uma nova chave para adicionar
  • Uma string newKeyValue - o valor para newKey

Crie um array associativo a partir da entrada JSON, em seguida, execute as seguintes operações:

  1. Verifique se keyToCheck existe. Imprima Found se existir, caso contrário, imprima Not found.
  2. Modifique o valor em keyToModify para newValue.
  3. Adicione um novo par chave-valor usando newKey e newKeyValue.
  4. Imprima o valor atualizado em keyToModify.
  5. Imprima o valor em newKey.

Imprima cada resultado em uma linha separada.

Exemplo:

Se as entradas forem {"name": "Alice", "phone": "555-1234"}, email, name, Bob, city e Paris, a saída deve ser:

Not found
Bob
Paris

Se as entradas forem {"product": "Laptop", "price": 999}, price, product, Tablet, stock e 25, a saída deve ser:

Found
Tablet
25

Experimente você mesmo

<?php
// Leia a entrada JSON e converta para array associativo
$jsonInput = trim(fgets(STDIN));
$contact = (array)json_decode($jsonInput, true);

// Leia as outras entradas
$keyToCheck = trim(fgets(STDIN));
$keyToModify = trim(fgets(STDIN));
$newValue = trim(fgets(STDIN));
$newKey = trim(fgets(STDIN));
$newKeyValue = trim(fgets(STDIN));

// TODO: Escreva seu código abaixo
// 1. Verifique se keyToCheck existe e imprima "Found" ou "Not found"
// 2. Modifique o valor em keyToModify para newValue
// 3. Adicione um novo par chave-valor usando newKey e newKeyValue
// 4. Imprima o valor atualizado em keyToModify
// 5. Imprima o valor em newKey

?>

Todas as lições de Fundamentos