Mảng đa chiều
NỘI DUNG BÀI VIẾT
Ở trong bài trước, chúng ta đã được biết mảng là một danh sách gồm các cặp khóa và giá trị. Tuy nhiên, đôi khi chúng ta muốn lưu nhiều giá trị với nhiều hơn một khóa. Điều này được gọi là mảng đa chiều
Mảng đa chiều
Mảng đa chiều là một mảng chứa một hoặc nhiều mảng.
Mảng đa chiều trong php có độ sâu hai, ba, bốn, năm, hoặc nhiều hơn. Tuy nhiên, mảng có độ sâu hơn 3 thì đã tương đối khó quản lý với hầu hết mọi người.
Số chiều của một mảng chỉ ra số lượng chỉ số để xác định một phần tử
- Với mảng 2 chiều, bạn cần 2 chỉ số để xác định 1 phần tử.
- Với mảng 3 chiều, bạn cần 3 chỉ số để xác định 1 phần tử.
Mảng hai chiều
Mảng hai chiều là một mảng các phần tử mảng một chiều (tương tự thì mảng ba chiều là một mảng các phần tử mảng hai chiều).
Ví dụ:
Name | Stock | Sold |
Volvo | 22 | 18 |
BMW | 15 | 13 |
Saab | 5 | 2 |
Land Rover | 17 | 15 |
Bạn có thể lưu trữ dữ liệu của bảng trên thành mảng 2 chiều như sau:
$cars = array( array("Volvo",22,18), array("BMW",15,13), array("Saab",5,2), array("Land Rover",17,15) );
Bây giờ mảng 2 chiều $cars chứa 4 mảng, và mỗi mảng gồm 2 chỉ số: hàng và cột.
Để truy cập đến 1 phần tử của mảng $cars, chúng ta phải chỉ ra 2 chỉ số: hàng và cột.
Ví dụ:
<?php echo $cars[0][0].": In stock: ".$cars[0][1].", sold: ".$cars[0][2].".<br>"; echo $cars[1][0].": In stock: ".$cars[1][1].", sold: ".$cars[1][2].".<br>"; echo $cars[2][0].": In stock: ".$cars[2][1].", sold: ".$cars[2][2].".<br>"; echo $cars[3][0].": In stock: ".$cars[3][1].", sold: ".$cars[3][2].".<br>"; ?>
Ngoài ra có thể sử dụng hai vòng lặp for lồng nhau để lấy về giá trị của các phần tử trong mảng $cars.
<?php for ($row = 0; $row < 4; $row++) { echo "<p><b>Row number $row</b></p>"; echo "<ul>"; for ($col = 0; $col < 3; $col++) { echo "<li>".$cars[$row][$col]."</li>"; } echo "</ul>"; } ?>
Leave a Reply