Повторение — хранилище данных «ключ–значение»
Часть раздела Основы путешествия по 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, и выведите точный текст из инструкций или точный текст из инструкций
// 2. Измените значение по ключу keyToModify на newValue
// 3. Добавьте новую пару ключ-значение, используя newKey и newKeyValue
// 4. Выведите обновлённое значение по ключу keyToModify
// 5. Выведите значение по ключу newKey
?>Все уроки раздела Основы
4Операторы сравнения и логические операторы
Операторы сравненияРавенство и идентичностьЛогические операторы. Часть 1Логические операторы. Часть 2Повторение — простая логика7Массивы, часть 2 — ассоциативные
Введение в ассоциативные массивыДоступ к значениям по ключуИзменение значений по ключуДобавление новых пар «ключ–значение»Проверка существования ключаПовторение — хранилище данных «ключ–значение»2Переменные и типы данных
ЧислаСтроки и кавычкиБулевы значенияСоглашения об именованииПовторение — инициализация переменныхПустые переменныеКонкатенация строкПолучение пользовательского вводаПриведение к другим типам5Условная логика
Оператор ifIf — ElseТернарный операторОператор нулевого слиянияОператор switchПовторение: принятие решений3Основные операторы
Арифметические операторыОператор остатка от деленияОператор возведения в степеньСоставное присваиваниеИнкремент/декрементПриоритет операторовПовторение — простые вычисленияОператоры строкПотренируйтесь самостоятельно: Онлайн-компилятор PHP