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.
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ị chokey1 - Một chuỗi
key2, khóa thứ hai cần thêm - Một chuỗi
value2, giá trị chokey2 - Một chuỗi
key3, khóa thứ ba cần thêm - Một chuỗi
value3, giá trị chokey3
Thêm từng cặp khóa-giá trị vào mảng $profile, sau đó in ra:
- Giá trị ứng với
key1 - Giá trị ứng với
key2 - 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
activeNếu các đầu vào là brand, Nike, size, 42, color và black, đầu ra sẽ là:
Nike
42
blackTự 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";
?>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
4Toán tử so sánh và logic
Toán tử so sánhBằng nhau và đồng nhấtToán tử logic phần 1Toán tử logic phần 2Ôn tập: logic đơn giản7Mảng, phần 2: Mảng kết hợp
Giới thiệu về mảng kết hợpTruy cập giá trị bằng khóaThay đổi giá trị bằng khóaThêm cặp khóa-giá trị mớiKiểm tra khóa có tồn tạiÔn tập: Kho dữ liệu khóa-giá trị2Biến và kiểu dữ liệu
SốChuỗi và dấu ngoặc képGiá trị BooleanQuy ước đặt tênÔn tập: khởi tạo biếnBiến rỗngNối chuỗiNhận đầu vào từ người dùngChuyển đổi sang kiểu dữ liệu khác5Logic điều kiện
Câu lệnh ifIf và elseToán tử ba ngôiToán tử kết hợp nullCâu lệnh switchÔn tập: đưa ra quyết định3Các toán tử cơ bản
Toán tử số họcToán tử chia lấy dưToán tử lũy thừaPhép gán kết hợpTăng/giảmThứ tự ưu tiên của toán tửÔn tập: phép tính đơn giảnToán tử chuỗiTự luyện tập: Trình biên dịch PHP online