Mảng trong PHP

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ự nhau.

Ví dụ: nếu bạn muốn lưu trữ 100 số thì thay vì định nghĩa 100 biến bạn có thể dễ dàng định nghĩa một mảng có độ dài 100.

Có ba loại mảng khác nhau và mỗi giá trị trong mảng được truy cập bằng chỉ mục.

  • Mảng số - Một mảng có chỉ mục là 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 với chỉ mục là chuỗi. Điều này lưu trữ các giá trị phần tử kết hợp với các giá trị khóa thay vì theo thứ tự chỉ số tuyến tính.
  • 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ỉ mục.
Lưu ý: Các hàm mảng tích hợp được trình bày chi tiết trong bài viết Hàm mảng trong PHP.

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 mảng kiểu số. Theo mặc định, chỉ số mảng bắt đầu từ số không.

Ví dụ

Sau đây là ví dụ cho thấy cách tạo và truy cập mảng số. Trong ví dụ này chúng ta sẽ sử dụng hàm array() để tạo mảng. Hàm này được giải thích trong phần cuối của hướng dẫn này.

<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>

Đây là kết quả:

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 liên kết

Các mảng kết hợp rất giống với mảng số về chức năng nhưng chúng khác nhau về chỉ mục.

Mảng liên kết sẽ có chỉ mục dạng chuỗi để bạn có thể thiết lập liên kết mạnh giữa khóa và giá trị.

Ví dụ

Để 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 tôi có thể sử dụng tên nhân viên làm khóa trong mảng kết hợp của chúng tôi và giá trị sẽ là mức lương tương ứng của họ.

LƯU Ý - Không để 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.
<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>
</html>

Đây là kết quả:

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ỗi phần tử trong một mảng đa chiều có thể là một mảng. Và mỗi phần tử trong mảng con cũng có thể là một mảng, v.v. Các giá trị trong mảng đa 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 ra một mảng hai chiều để lưu trữ điểm của ba học sinh trong ba môn học.

Ví dụ này là một mảng kết hợp, bạn cũng 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>

Đây là kết quả:

Marks for mohammad in physics : 35
Marks for qadir in maths : 32
Marks for zara in chemistry : 39



Bài viết liên quan:

Hướng dẫn lập trình PHP toàn tập sẽ giúp bạn từng bước tìm hiểu và nắm vững ngôn ngữ lập trình PHP.

Hướng dẫn cách truy xuất, lọc, sắp xếp dữ liệu MySQL trong PHP sử dụng MySQLi và PDO.

MySQL prepared statements trong PHP rất hữu ích để chống lại các cuộc tấn công SQL Injection.