Recap - Key-Value Data Store
Parte da seção Fundamentos do Journey de PHP da Coddy — lição 46 de 71.
Desafio
FácilLeia 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 parakeyToModify - Uma string
newKey- uma nova chave para adicionar - Uma string
newKeyValue- o valor paranewKey
Crie um array associativo a partir da entrada JSON, em seguida, execute as seguintes operações:
- Verifique se
keyToCheckexiste. ImprimaFoundse existir, caso contrário, imprimaNot found. - Modifique o valor em
keyToModifyparanewValue. - Adicione um novo par chave-valor usando
newKeyenewKeyValue. - Imprima o valor atualizado em
keyToModify. - 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
ParisSe as entradas forem {"product": "Laptop", "price": 999}, price, product, Tablet, stock e 25, a saída deve ser:
Found
Tablet
25Experimente 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
4Comparison & Logical Operators
Comparison OperatorsEquality & IdentityLogical Operators Part 1Logical Operators Part 2Recap - Simple Logic7Arrays Part 2 - Associative
Intro to Associative ArraysAccessing Values by KeyModifying Values by KeyAdding New Key-Value PairsCheck if Key ExistsRecap - Key-Value Data Store2Variables and Data Types
NumbersStrings and QuotesBooleansNaming ConventionsRecap - Variable InitEmpty VariablesString ConcatenationGetting User InputCast to Different Types5Conditional Logic
If StatementIf - ElseThe Ternary OperatorNull Coalescing OperatorSwitch StatementRecap - Making Decisions3Basic Operators
Arithmetic OperatorsModulo OperatorExponentiation OperatorCombined AssignmentIncrement/DecrementOperator PrecedenceRecap - Simple CalculationsString Operators