Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> PHP

Mảng liên hợp (Associative Array) trong PHP

Định nghĩa và cách sử dụng

Trong PHP, một array là tập hợp các cặp key => value phân cách bằng dấu phẩy. Mảng như vậy gọi là Associative Array (mảng liên hợp) nơi giá trị được liên kết với một key duy nhất. Phần key phải là string hoặc integer, trong khi value có thể là bất kỳ kiểu nào, kể cả mảng khác.

Key là tùy chọn. Nếu mảng chỉ chứa giá trị, nó trở thành indexed array với chỉ số vị trí 0-based đóng vai trò key.

Mảng có thể khởi tạo bằng array() hoặc gán trực tiếp với [].

Cú pháp

// Mảng liên hợp dùng array()
$arr = array(key1 => val1, key2 => val2, key3 => val3, ...);

// Mảng liên hợp dùng gán trực tiếp []
$arr = [key1 => val1, key2 => val2, key3 => val3, ...];

Key phải là integer hoặc string. Value có thể là bất kỳ kiểu PHP nào. Nếu key trùng lặp, giá trị gán sau sẽ ghi đè giá trị trước. Truy cập giá trị bằng key:

$arr[key1];

Phiên bản PHP

Dùng [] gán mảng từ PHP 5.4.

Ví dụ

Khai báo mảng liên hợp với array()

<?php
$arr = array(1 => "one", 2 => "two", 3 => "three");
var_dump($arr);
?>

Kết quả

array(3) {
    [1] => string(3) "one"
    [2] => string(3) "two"
    [3] => string(5) "three"
}

Khai báo mảng liên hợp với []

<?php
$arr = [1 => "one", 2 => "two", 3 => "three"];
var_dump($arr);
?>

Kết quả

array(3) {
    [1] => string(3) "one"
    [2] => string(3) "two"
    [3] => string(5) "three"
}

Duyệt mảng với foreach

<?php
$arr = [1 => "one", 2 => "two", 3 => "three"];

foreach ($arr as $key => $value) {
    echo $key . "=>" . $value . "\n";
}
?>

Kết quả

1=>one
2=>two
3=>three

Sửa đổi và thêm phần tử

<?php
$arr = [1 => "one", 2 => "two", 3 => "three"];

// Sửa phần tử
$arr[2] = "twenty";

// Thêm phần tử mới
$arr[10] = "ten";

foreach ($arr as $key => $value) {
    echo $key . "=>" . $value . "\n";
}
?>

Kết quả

1=>one
2=>twenty
3=>three
10=>ten