Mảng là một cấu trúc dữ liệu lưu trữ một hoặc nhiều loại giá trị tương tự trong một giá trị. Ví dụ: nếu bạn muốn lưu trữ 100 số thì thay vì xác định 100 biến, bạn có thể dễ dàng xác định một mảng có độ dài 100.
Có ba loại mảng khác nhau và mỗi giá trị mảng được truy cập bằng ID c được gọi là chỉ mục mảng.
Mảng số − Một mảng có chỉ mục số. Các giá trị được lưu trữ và truy cập theo kiểu tuyến tính. Mảng kết hợp − Một mảng có chuỗi làm chỉ mục. Điều này lưu trữ các giá trị phần tử liên kết với các giá trị chính thay vì theo thứ tự chỉ mục tuyến tính nghiêm ngặt. Mảng nhiều chiều - Một mảng chứa một hoặc nhiều mảng và giá trị được truy cập bằng nhiều chỉ số
LƯU Ý – Các hàm mảng tích hợp được cung cấp trong tham chiếu hàm PHP Array Functions
Mảng số
Các mảng này có thể lưu trữ số, chuỗi và bất kỳ đối tượng nào nhưng chỉ mục của chúng sẽ được biểu thị bằng số. Theo mặc định, chỉ số mảng bắt đầu từ số không.
Ví dụ
Sau đây là ví dụ minh họa cách tạo và truy cập mảng số.
Ở đây chúng ta đã sử dụng hàm array() để tạo mảng. Hàm này được giải thích trong tham chiếu hàm.
<html> <body> <?php /* First method to create array. */ $numbers = array( 1, 2, 3, 4, 5); foreach( $numbers as $value ) { echo "Value is $value <br />"; } /* Second method to create array. */ $numbers[0] = "one"; $numbers[1] = "two"; $numbers[2] = "three"; $numbers[3] = "four"; $numbers[4] = "five"; foreach( $numbers as $value ) { echo "Value is $value <br />"; } ?> </body> </html>
Điều này sẽ tạo ra kết quả sau –
Value is 1
Value is 2
Value is 3
Value is 4
Value is 5
Value is one
Value is two
Value is three
Value is four
Value is five
Mảng kết hợp
Các mảng kết hợp rất giống với các mảng số về mặt chức năng nhưng chúng khác nhau về chỉ số của chúng. Mảng kết hợp sẽ có chỉ mục dưới dạng chuỗi để bạn có thể thiết lập mối liên kết chặt chẽ giữa khóa và giá trị.
Để lưu trữ tiền lương của nhân viên trong một mảng, một mảng được lập chỉ mục bằng số sẽ không phải là lựa chọn tốt nhất. Thay vào đó, chúng ta có thể sử dụng tên nhân viên làm khóa trong mảng kết hợp của mình và giá trị sẽ là mức lương tương ứng của họ.
LƯU Ý – Không giữ mảng kết hợp bên trong dấu nháy kép trong khi in nếu không nó sẽ không trả về bất kỳ giá trị nào.
Ví dụ
<html> <body> <?php /* First method to associate create array. */ $salaries = array("mohammad" => 2000, "qadir" => 1000, "zara" => 500); echo "Salary of mohammad is ". $salaries['mohammad'] . "<br />"; echo "Salary of qadir is ". $salaries['qadir']. "<br />"; echo "Salary of zara is ". $salaries['zara']. "<br />"; /* Second method to create array. */ $salaries['mohammad'] = "high"; $salaries['qadir'] = "medium"; $salaries['zara'] = "low"; echo "Salary of mohammad is ". $salaries['mohammad'] . "<br />"; echo "Salary of qadir is ". $salaries['qadir']. "<br />"; echo "Salary of zara is ". $salaries['zara']. "<br />"; ?> </body>
Điều này sẽ tạo ra kết quả sau –
Salary of mohammad is 2000
Salary of qadir is 1000
Salary of zara is 500
Salary of mohammad is high
Salary of qadir is medium
Salary of zara is low
Mảng đa chiều
Mảng nhiều chiều mỗi phần tử trong mảng chính cũng có thể là một mảng. Và mỗi phần tử trong mảng con có thể là một mảng, v.v. Các giá trị trong mảng nhiều chiều được truy cập bằng nhiều chỉ mục.
Ví dụ
Trong ví dụ này, chúng tôi tạo một mảng hai chiều để lưu trữ điểm của ba sinh viên trong ba môn học –
Ví dụ này là một mảng kết hợp, bạn có thể tạo mảng số theo cách tương tự.
<html> <body> <?php $marks = array( "mohammad" => array ( "physics" => 35, "maths" => 30, "chemistry" => 39 ), "qadir" => array ( "physics" => 30, "maths" => 32, "chemistry" => 29 ), "zara" => array ( "physics" => 31, "maths" => 22, "chemistry" => 39 ) ); /* Accessing multi-dimensional array values */ echo "Marks for mohammad in physics : " ; echo $marks['mohammad']['physics'] . "<br />"; echo "Marks for qadir in maths : "; echo $marks['qadir']['maths'] . "<br />"; echo "Marks for zara in chemistry : " ; echo $marks['zara']['chemistry'] . "<br />"; ?> </body> </html>
Điều này sẽ tạo ra kết quả sau –
Marks for mohammad in physics : 35
Marks for qadir in maths : 32
Marks for zara in chemistry : 39