Mục lục bài viết

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.

Tác giả

Vinh Lê

Giảng viên CNTT, chia sẻ tutorial lập trình & phần cứng tại Góc Học IT. Hơn 500 bài viết hướng dẫn từ cơ bản đến nâng cao.

Gợi ý tiếp theo

Mảng 2 chiều (2 dimensional array) trong PHP

Học tiếp