Recap - Key-Value Data Store
Часть раздела Основы путешествия по PHP на Coddy — урок 46 из 71.
Задание
ЛегкоПрочитайте строку ввода, содержащую JSON-объект, представляющий информацию о контакте (например, {"name": "Alice", "phone": "555-1234"}).
Затем прочитайте следующие входные данные:
- Строка
keyToCheck— ключ для проверки его существования - Строка
keyToModify— существующий ключ для обновления - Строка
newValue— новое значение дляkeyToModify - Строка
newKey— новый ключ для добавления - Строка
newKeyValue— значение дляnewKey
Создайте ассоциативный массив из JSON-ввода, затем выполните следующие операции:
- Проверьте, существует ли
keyToCheck. ВыведитеFound, если существует, иначе выведитеNot found. - Измените значение по ключу
keyToModifyнаnewValue. - Добавьте новую пару ключ-значение, используя
newKeyиnewKeyValue. - Выведите обновленное значение по ключу
keyToModify. - Выведите значение по ключу
newKey.
Выводите каждый результат на отдельной строке.
Пример:
Если входные данные: {"name": "Alice", "phone": "555-1234"}, email, name, Bob, city и Paris, то вывод должен быть:
Not found
Bob
ParisЕсли входные данные: {"product": "Laptop", "price": 999}, price, product, Tablet, stock и 25, то вывод должен быть:
Found
Tablet
25Попробуйте сами
<?php
// Читаем JSON-входные данные и преобразуем в ассоциативный массив
$jsonInput = trim(fgets(STDIN));
$contact = (array)json_decode($jsonInput, true);
// Читаем остальные входные данные
$keyToCheck = trim(fgets(STDIN));
$keyToModify = trim(fgets(STDIN));
$newValue = trim(fgets(STDIN));
$newKey = trim(fgets(STDIN));
$newKeyValue = trim(fgets(STDIN));
// TODO: Напишите свой код ниже
// 1. Проверить, существует ли keyToCheck, и вывести "Found" или "Not found"
// 2. Изменить значение по ключу keyToModify на newValue
// 3. Добавить новую пару ключ-значение с использованием newKey и newKeyValue
// 4. Вывести обновленное значение по ключу keyToModify
// 5. Вывести значение по ключу newKey
?>Все уроки раздела Основы
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