Mảng 2 Chiều (2 Dimensional Array) Trong PHP - Góc Học IT
Có thể bạn quan tâm
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.
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:<?php $cars = array ( array("Volvo",22,18), array("BMW",15,13), array("Saab",5,2), array("Land Rover",17,15) ); 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>"; ?>
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:<?php $cars = array ( array("Volvo",22,18), array("BMW",15,13), array("Saab",5,2), array("Land Rover",17,15) ); for ($row = 0; $row < 4; $row++) { echo "Row number $row: "; for ($col = 0; $col < 3; $col++) { echo $cars[$row][$col]." "; } echo "<br>"; } ?>
Kết quả
Row number 0: Volvo 22 18 Row number 1: BMW 15 13 Row number 2: Saab 5 2 Row number 3: Land Rover 17 152. 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.<?php $numberarr = array( array( array(1, 2), array(3, 4), ), array( array(5, 6), array(7, 8), ), ); print "<pre>"; print_r($numberarr); print "</pre>"; ?>
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
<?php $numarr = array( array( array(1, 2), array(3, 4), array(7, 10), ), array( array(5, 6), array(7, 8), array(15, 21), ), ); for ($i=0; $i < count($numarr); $i++) { for ($j=0; $j < count($numarr[$i]); $j++) { for ($k=0; $k < count($numarr[$i][$j]); $k++) { echo "$"."numarr[$i][$j][$k]: ".$numarr[$i][$j][$k]; echo "<br>"; } echo "<br>"; } } ?>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].
- Cài đặt Python và môi trường lập trình với Visual Studio Code
- Kiểm tra (validation) dữ liệu trong html form với PHP
- Lập trình điều khiển DC motor với board mạch Arduino
- Khái niệm đa hình (polymorphism) trong lập trình hướng đối tượng
- Java collections framework: Queue interface và lớp LinkedList
Từ khóa » Duyệt Mảng 2 Chiều Php
-
Foreach: Duyệt Mảng Một Chiều - Mảng đa Chiều Trong Php
-
[PHP] Phần 16: Mảng đa Chiều Trong PHP | DAMMIO
-
Hướng Dẫn Cách Duyệt Mảng đa Chiều Trong PHP Bằng Foreach
-
Vòng Lặp For Và Foreach Mảng 2 Chiều Php - Darkedeneurope
-
Foreach: Duyệt Mảng Đa Chiều Trong Php
-
Mảng (Array) Trong PHP - Học Lập Trình PHP Online - VietTuts
-
Vòng Lặp For Và Foreach Mảng 2 Chiều Php - In4tintuc
-
PHP: Mảng Hai Chiều | V1Study
-
Mảng Trong Php
-
Bài Tập Thực Hành Với Mảng (array) Trong PHP - Freetuts
-
Tổng Hợp Về Mảng đa Chiều Trong Php Mới Nhất 2020 - Xây Dựng Web
-
Mảng Và Các Hàm Xử Lý Mảng Trong PHP - Viblo
-
Duyệt Mảng 2 Chiều Trong JavaScript
-
[PDF] Bài 6 - Thao Tác Trên Mảng