Mảng kết hợp (associative array) trong PHP

Đây là bài 22/53 bài của series môn học Lập trình Web PHP

Trong bài này, chúng ta sẽ tìm hiểu về mảng kết hợp (associative array) trong PHP. Để học tốt bài này, các bạn cần đọc lại bài Cài đặt môi trường lập trình Web PHP với XAMPP để biết cách chạy ứng dụng web PHP với XAMPP.

1. Mảng kết hợp (associative array) là gì?

Mảng kết hợp (associative array) trong PHP được sử dụng để lưu trữ các cặp key-value. Mỗi cặp key-value là một phần tử trong mảng. Các key có thể là số (number) hoặc chuỗi (string). Các value có thể là bất kỳ kiểu dữ liệu nào.

Có 2 cách để tạo một mảng kết hợp là:

Cách 1 – Sử dụng hàm array()

<?php
$arr1 = array("John"=>21, "Kane"=>29, "Son"=>30);
// Array ( [John] => 21 [Kane] => 29 [Son] => 30 )
print_r($arr1);
$arr2 = array(true=>21, 5=>1.2, "Son"=>30);
// Array ( [1] => 21 [5] => 1.2 [Son] => 30 )
print_r($arr2);
$arr3 = array("hihi"=>"gochocit.com", "car"=>"camry", "computer"=>"acer");
// Array ( [hihi] => gochocit.com [car] => camry [computer] => acer )
print_r($arr3);
?>

Cách 2 – Gán giá trị cho key trong array

<?php
$arr1["John"] = 21;
$arr1["Kane"] = 29;
$arr1["Son"] = 30;
// Array ( [John] => 21 [Kane] => 29 [Son] => 30 )
print_r($arr1);
?>

2. Duyệt các phần tử trong associative array

Sử dụng vòng lặp foreach

<?php
$arr1 = array("John"=>21, "Kane"=>29, "Son"=>30);
foreach ($arr1 as $name => $age){ 
  echo $name.": ".$age."<br>"; 
} 
?>
Kết quả
John: 21
Kane: 29
Son: 30

Sử dụng vòng lặp for

<?php
$arr1 = array("John"=>21, "Kane"=>29, "Son"=>30);
$name = array_keys($arr1); 
$arr1Length = count($name);  
for($i=0; $i < $arr1Length; ++$i) { 
  echo $name[$i].": ".$arr1[$name[$i]]."<br>";
} 
?>
Kết quả
John: 21
Kane: 29
Son: 30

Trong ví dụ trên, hàm array_keys() có chức năng trả về một mảng (array) chứa tất cả các key trong associative array.

5/5 - (1 bình chọn)
Bài trước và bài sau trong môn học<< Cách tạo mảng (array) và thao tác với mảng trong PHPMảng 2 chiều (2 dimensional array) trong PHP >>
Chia sẻ trên mạng xã hội:

Để lại một bình luận

Lưu ý:

1) Vui lòng bình luận bằng tiếng Việt có dấu.

2) Khuyến khích sử dụng tên thật và địa chỉ email chính xác.

3) Mọi bình luận trái quy định sẽ bị xóa bỏ.