Mảng nhiều chiều (multidimensional array) là một mảng bao gồm 1 hoặc nhiều mảng khác. PHP hỗ trợ mảng 2, 3, 4, 5 chiều hoặc có số chiều nhiều hơn nữa. Tuy nhiên, mảng có hơn 3 chiều rất khó quản lý và truy xuất dữ liệu. Trong bài này, chúng ta sẽ chỉ tập trung tìm hiểu mảng 2 và 3 chiều 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 2 chiều (2 dimensional array) trong PHP
Mảng 2 chiều là mảng của mảng. Mảng 2 chiều có thể lưu trữ các phần tử có bất kỳ kiểu dữ liệu nào. Mảng 2 chiều được tổ chức như một bảng gồm các dòng và cột. Để truy xuất các phần tử trong mảng, chúng ta phải chỉ định rõ chỉ số dòng và chỉ số cột.
Đang xem: Mảng đa chiều trong php
Xem thêm: Cách Cắm Hoa Đám Cưới,Wedding, Cách Cắm Lẳng Hoa Hồng Tiệc Cướiwedding
Ví dụ, chúng ta có dữ liệu về xe ôtô như bên dưới:
Name | Stock | Sold |
Name | Stock | Sold |
Volvo | 22 | 18 |
BMW | 15 | 13 |
Saab | 5 | 2 |
Chúng ta có thể sử dụng mảng 2 chiều để lưu trữ dữ liệu của bảng trên như sau:$cars = array ( array(“Volvo”,22,18), array(“BMW”,15,13), array(“Saab”,5,2), array(“Land Rover”,17,15));Mảng 2 chiều $cars lữu trữ 4 mảng tương ứng 4 dòng và mỗi dòng này lưu trữ 3 cột giá trị là name, stock, sold. Để truy cập vào các phần tử của mảng $cars, chúng ta phải chỉ định rõ chỉ số hàng và cột:”;echo $cars<1><0>.”: In stock: “.$cars<1><1>.”, sold: “.$cars<1><2>.”.”;echo $cars<2><0>.”: In stock: “.$cars<2><1>.”, sold: “.$cars<2><2>.”.”;echo $cars<3><0>.”: In stock: “.$cars<3><1>.”, sold: “.$cars<3><2>.”.”;?>Chúng ta có thể sử dụng 2 vòng lặp for để truy xuất các phần tử trong mảng 2 chiều:”;}?>Kết quảRow number 0: Volvo 22 18Row number 1: BMW 15 13Row number 2: Saab 5 2Row number 3: Land Rover 17 15
2. Mảng 2 chiều kết hợp (2 dimensional associative array) trong PHP
Mảng 2 chiều kết hợp (2 dimensional associative array) cũng giống như mảng 2 chiều bình thường. Nhưng các phần tử được gán bằng một key nào đó, key có thể là số (number) hoặc chuỗi (string).$marks = array( “Son” => array( “Math” => 5.5, “English” => 8.5, “Physics” => 7.4, ), “Kane” => array( “Math” => 7.8, “English” => 9.8, “Physics” => 4.6, ), “John” => array( “Math” => 8.8, “English” => 4.6, “Physics” => 9.9, ),);
3. Mảng 3 chiều (3 dimensional array) trong PHP
Mảng 3 chiều là một mảng của mảng của mảng. Cách tạo mảng 3 chiều giống với mảng 2 nhiều. Nhưng mỗi phần tử trong mảng 2 chiều bây giờ là một mảng khác.”;print_r($numberarr);print “”;?>Kết quảArray( <0> => Array ( <0> => Array ( <0> => 1 <1> => 2 ) <1> => Array ( <0> => 3 <1> => 4 ) ) <1> => Array ( <0> => Array ( <0> => 5 <1> => 6 ) <1> => Array ( <0> => 7 <1> => 8 ) ))Chương trình xuất các phần tử của mảng 3 chiều trong PHP“; } echo “”; }}?>Kết quả$numarr<0><0><0>: 1$numarr<0><0><1>: 2$numarr<0><1><0>: 3$numarr<0><1><1>: 4$numarr<0><2><0>: 7$numarr<0><2><1>: 10$numarr<1><0><0>: 5$numarr<1><0><1>: 6$numarr<1><1><0>: 7$numarr<1><1><1>: 8$numarr<1><2><0>: 15$numarr<1><2><1>: 21Để truy xuất một phần tử trong mảng 3 chiều, chúng ta cần chỉ định rõ 3 chỉ số chiều. Ví dụ, truy xuất phần tử đầu tiên trong mảng 3 chiều $numarr thì sử dụng $numarr<0><0><0>.
Bài trước và bài sau trong môn học>” data-wpel-link=”internal”>Các hàm sắp xếp (sort) mảng trong PHP >>