Mảng đa chiều trong php là một trong những keyword được search nhiều nhất trên Google về chủ đề mảng đa chiều trong php. Trong bài viết này, xaydungweb.vn sẽ viết bài viết Tổng hợp về mảng đa chiều trong php mới nhất 2020.
Tổng hợp về mảng đa chiều trong php mới nhất 2020
Trong phần trước, bạn vừa mới học về kiểu dữ liệu mảng trong PHP cũng giống như phương pháp tạo, truy xuất, duyệt, xóa, thêm các phần tử trong mảng. Trong bài này, bạn sẽ học về mảng đa chiều, một trong những kiểu dữ liệu làm nên tên tuổi của PHP trong thế giới lập trình website.
Mảng đa chiều
Mảng đa chiều là mảng chứa một hoặc nhiều chiều (mảng con). Trong bài trước, bạn đã hiểu 1 mảng là kiểu dữ liệu chứa nhiều phần tử theo thứ tự liên tiếp nhau. Nếu một mảng có các phần tử chứa các mảng con, mỗi phần tử mảng con lại chứa mảng con nữa… thì bạn có thể gọi đây là mảng đa chiều.
Bạn có thể tạo mảng nhiều chiều bao nhiêu tùy ý, tuy nhiên theo DAMMIO.COM bạn chỉ nên tạo mảng tối đa 3 để có thể quản lý đơn giản.
Mảng hai chiều
đầu tiên, bạn hãy làm quen với mảng 2 chiều, chúng ta có một bảng chứa dữ liệu giống như sau.
1 2 3 4 5 | Tên Tuổi Điểm Dammio 22 9 Lan 25 8 Vy 18 5 Hoa 17 10 |
Để lưu trữ bảng này, bạn đủ nội lực dùng mảng 2 chiều giống như sau với tên mảng là $student.
01 02 03 04 05 06 07 08 09 10 11 12 13 |
$students = array ( array("Dammio",22,9), array("Lan",25,8), array("Vy",18,5), array("Hoa",17,10) ); // xem điểm thi của Lan. // Lan có vị trí thứ 1 trong mảng chính và điểm của Lan có vị trí thứ 2 trong mảng con. echo $students[1][2]; ?> |
Trong gợi ý trên để truy xuất 1 phần tử, bạn có thể tìm vị trí phần tử chính trong mảng sau đó là tìm vị trí phần tử con trong mảng phụ. ví dụ $students[1][1] là tìm sinh viên ở vị trí 1 và tìm thông tin của sv ở vị trí 1.
Bạn đủ nội lực sử dụng 2 vòng lặp (for hoặc foreach) để duyệt mảng 2 chiều trên như sau.
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
$students = array ( array("Dammio",22,9), array("Lan",25,8), array("Vy",18,5), array("Hoa",17,10) ); for ($row = 0; $row < 4; $row++)
for ($col = 0; $col < 3; $col++)
echo ""; foreach($students as $item)
foreach($item as $value)
echo ""; ?> |
Nếu mỗi sinh viên trong gợi ý trên có 2 cột điểm thì bạn đủ sức tạo mảng 3 chiều giống như sau.
01 02 03 04 05 06 07 08 09 10 11 12 |
$students = array ( array("Dammio",22,array(9, 8)), array("Lan",25,array(7, 7)), array("Vy",18,array(7, 5)), array("Hoa",17,array(9, 8)) ); // Xuất cột điểm cuối cùng của sinh viên có tên là "Dammio" echo $students[0][2][1]; ?> |
Về phương pháp duyệt vòng for/foreach thì cũng tương tự giống như mảng 2 chiều.
Kết lý luận
Nếu bạn tinh ý, mảng đa chiều trong PHP có thể ứng dụng cho các bảng cơ sở dữ liệu hoặc kiểu dữ liệu lớp, phân khúc nào đó. cho nên đây là nguyên do mảng đa chiều trong PHP là kiểu dữ liệu rất mạnh và rất thú vị.