Menu
CoddyTech

Thêm cặp khóa-giá trị mới

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

Bạn đã học cách sửa các giá trị hiện có trong mảng kết hợp. Nhưng điều gì xảy ra khi bạn gán một giá trị cho khóa chưa tồn tại? PHP sẽ tự động tạo khóa đó cho bạn.

<?php
$person = [
    "name" => "Alice",
    "age" => 25
];

$person["city"] = "Paris";
$person["job"] = "Developer";

echo $person["city"]; // Paris
echo $person["job"];  // Developer
?>

Cú pháp giống như khi sửa đổi, $array["key"] = value, nhưng nếu khóa chưa tồn tại, PHP sẽ thêm một cặp khóa-giá trị mới vào mảng thay vì cập nhật cặp đã có.

Điều này đặc biệt hữu ích khi xây dựng dần một mảng kết hợp:

<?php
$settings = [];

$settings["theme"] = "dark";
$settings["language"] = "en";
$settings["notifications"] = true;

echo $settings["theme"]; // dark
?>

Bắt đầu với một mảng rỗng rồi thêm các cặp khi cần là cách làm phổ biến khi thu thập dữ liệu theo thời gian hoặc khi bạn chưa biết trước tất cả các khóa.

challenge icon

Thử thách

Dễ

Bắt đầu với một mảng kết hợp rỗng có tên $profile.

Đọc các đầu vào sau:

  • Một chuỗi key1, khóa đầu tiên cần thêm
  • Một chuỗi value1, giá trị cho key1
  • Một chuỗi key2, khóa thứ hai cần thêm
  • Một chuỗi value2, giá trị cho key2
  • Một chuỗi key3, khóa thứ ba cần thêm
  • Một chuỗi value3, giá trị cho key3

Thêm từng cặp khóa-giá trị vào mảng $profile, sau đó in ra:

  1. Giá trị ứng với key1
  2. Giá trị ứng với key2
  3. Giá trị ứng với key3

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

Ví dụ:

Nếu các đầu vào là username, alice123, email, alice@example.com, status và active, đầu ra sẽ là:

alice123
alice@example.com
active

Nếu các đầu vào là brand, Nike, size, 42, color và black, đầu ra sẽ là:

Nike
42
black

Tự làm thử

<?php
// Đọc các giá trị đầu vào
$key1 = trim(fgets(STDIN));
$value1 = trim(fgets(STDIN));
$key2 = trim(fgets(STDIN));
$value2 = trim(fgets(STDIN));
$key3 = trim(fgets(STDIN));
$value3 = trim(fgets(STDIN));

// Bắt đầu với một mảng kết hợp rỗng
$profile = [];

// TODO: Viết code bên dưới
// Thêm từng cặp khóa và giá trị vào mảng $profile


// In ra giá trị tương ứng với từng khóa
echo $profile[$key1] . "\n";
echo $profile[$key2] . "\n";
echo $profile[$key3] . "\n";
?>
quiz iconTự kiểm tra

Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.

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