Trong PHP, các key và value trong một mảng được lập chỉ mục theo hai cách chính: lập chỉ mục bằng số (index array) và lập chỉ mục bằng chuỗi (associative array). Dưới đây là chi tiết về cách lập chỉ mục của từng loại mảng trong PHP.
1. Mảng lập chỉ mục bằng số (Indexed Arrays)
Trong mảng lập chỉ mục bằng số, các phần tử được gán chỉ số là số nguyên. PHP tự động gán chỉ số bắt đầu từ 0 cho phần tử đầu tiên, 1 cho phần tử thứ hai, và tiếp tục cho đến phần tử cuối cùng. Bạn có thể thêm các phần tử vào mảng mà không cần chỉ định chỉ số.
Ví dụ:
// Khai báo mảng lập chỉ mục bằng số
$colors = array("red", "green", "blue");
// In ra các giá trị và chỉ số của mảng
foreach ($colors as $index => $color) {
echo "Chỉ số: $index, Giá trị: $colorn";
}
Kết quả:
Chỉ số: 0, Giá trị: red
Chỉ số: 1, Giá trị: green
Chỉ số: 2, Giá trị: blue
2. Mảng lập chỉ mục bằng chuỗi (Associative Arrays)
Trong mảng lập chỉ mục bằng chuỗi, bạn có thể chỉ định các key bằng chuỗi cho các phần tử trong mảng. Điều này cho phép bạn sử dụng các key có ý nghĩa hơn và dễ hiểu hơn so với việc chỉ sử dụng chỉ số số nguyên.
Ví dụ:
// Khai báo mảng lập chỉ mục bằng chuỗi
$person = array(
"name" => "John",
"age" => 30,
"city" => "New York"
);
// In ra các giá trị và key của mảng
foreach ($person as $key => $value) {
echo "Key: $key, Giá trị: $valuen";
}
Kết quả:
Key: name, Giá trị: John
Key: age, Giá trị: 30
Key: city, Giá trị: New York
3. Mảng đa chiều (Multidimensional Arrays)
PHP cũng cho phép tạo ra các mảng đa chiều, tức là mảng chứa các mảng khác. Các chỉ số trong mảng đa chiều có thể là số hoặc chuỗi, và bạn có thể truy cập các giá trị bằng cách chỉ định từng chỉ số.
Ví dụ:
// Khai báo mảng đa chiều
$employees = array(
array("name" => "Alice", "age" => 28),
array("name" => "Bob", "age" => 35),
array("name" => "Charlie", "age" => 30)
);
// In ra thông tin của từng nhân viên
foreach ($employees as $index => $employee) {
echo "Nhân viên $index: Tên: " . $employee['name'] . ", Tuổi: " . $employee['age'] . "n";
}
Kết quả:
Nhân viên 0: Tên: Alice, Tuổi: 28
Nhân viên 1: Tên: Bob, Tuổi: 35
Nhân viên 2: Tên: Charlie, Tuổi: 30
Kết luận
- Trong mảng lập chỉ mục bằng số, các key là số nguyên và tự động được gán từ 0.
- Trong mảng lập chỉ mục bằng chuỗi, bạn có thể chỉ định các key bằng chuỗi để lưu trữ các giá trị có ý nghĩa.
- Mảng đa chiều cho phép bạn tổ chức dữ liệu phức tạp hơn bằng cách kết hợp các mảng bên trong.