Menu
CoddyTech

Ôn tập: Kho dữ liệu khóa-giá trị

Thuộc phần Kiến thức cơ bản trong hành trình PHP của Coddy. Bài học 46 trên 71.

challenge icon

Thử thách

Dễ

Đọc một dòng đầu vào chứa đối tượng JSON đại diện cho thông tin liên hệ (ví dụ: {"name": "Alice", "phone": "555-1234"}).

Sau đó đọc các đầu vào sau:

  • Một chuỗi keyToCheck, khóa cần kiểm tra xem có tồn tại hay không
  • Một chuỗi keyToModify, khóa hiện có cần cập nhật
  • Một chuỗi newValue, giá trị mới cho keyToModify
  • Một chuỗi newKey, khóa mới cần thêm
  • Một chuỗi newKeyValue, giá trị cho newKey

Tạo một mảng kết hợp từ đầu vào JSON, sau đó thực hiện các thao tác sau:

  1. Kiểm tra xem keyToCheck có tồn tại hay không. In ra Found nếu khóa này tồn tại, nếu không thì in ra Not found.
  2. Thay đổi giá trị tại keyToModify thành newValue.
  3. Thêm một cặp khóa-giá trị mới bằng newKey và newKeyValue.
  4. In ra giá trị đã cập nhật tại keyToModify.
  5. In ra giá trị tại newKey.

In mỗi kết quả trên một dòng riêng.

Ví dụ:

Nếu các đầu vào là {"name": "Alice", "phone": "555-1234"}, email, name, Bob, city và Paris, thì đầu ra sẽ là:

Not found
Bob
Paris

Nếu các đầu vào là {"product": "Laptop", "price": 999}, price, product, Tablet, stock và 25, thì đầu ra sẽ là:

Found
Tablet
25

Tự làm thử

<?php
// Đọc đầu vào JSON và chuyển thành mảng kết hợp
$jsonInput = trim(fgets(STDIN));
$contact = (array)json_decode($jsonInput, true);

// Đọc các đầu vào khác
$keyToCheck = trim(fgets(STDIN));
$keyToModify = trim(fgets(STDIN));
$newValue = trim(fgets(STDIN));
$newKey = trim(fgets(STDIN));
$newKeyValue = trim(fgets(STDIN));

// TODO: Viết code của bạn bên dưới
// 1. Kiểm tra keyToCheck có tồn tại không và in ra chính xác văn bản trong hướng dẫn hoặc chính xác văn bản trong hướng dẫn
// 2. Đổi giá trị tại keyToModify thành newValue
// 3. Thêm một cặp khóa-giá trị mới bằng newKey và newKeyValue
// 4. In ra giá trị đã cập nhật tại keyToModify
// 5. In ra giá trị tại newKey

?>

Tất cả bài học trong Kiến thức cơ bản

Tự luyện tập: Trình biên dịch PHP online