PHP - Mảng

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 trong một giá trị duy nhất. Ví dụ, nếu bạn muốn lưu trữ 100 số thì thay vì xác định 100 biến, bạn 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ỉ số mảng.

  • Numeric array- Một mảng có chỉ số dạng số. Các giá trị được lưu trữ và truy cập theo kiểu tuyến tính.

  • Associative array- Một mảng với các chuỗi là chỉ số. Điều này lưu trữ các giá trị phần tử liên kết với các giá trị khóa thay vì theo một thứ tự chỉ mục tuyến tính nghiêm ngặt.

  • Multidimensional array - 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ố

NOTE- Các hàm mảng tích hợp được đưa ra trong tham chiếu hàm Các hàm mảng 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 chúng sẽ được biểu diễn bằng số. Theo mặc định, chỉ mục mảng bắt đầu từ 0.

Thí dụ

Sau đây là ví dụ cho thấy cách tạo và truy cập mảng số.

Ở đây chúng tôi đã sử dụng array()hàm 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 liên kết

Mảng kết hợp rất giống với mảng số về mặt chức năng nhưng chúng khác nhau về chỉ mục của chúng. Mảng liên kết sẽ có chỉ mục của chúng dưới dạng chuỗi để bạn có thể thiết lập liên kết chặt chẽ giữa khóa và giá trị.

Để lưu trữ 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 liên kết của chúng tôi và giá trị sẽ là mức lương tương ứng của họ.

NOTE - Không giữ mảng kết hợp bên trong dấu ngoặc kép khi in nếu không nó sẽ không trả về bất kỳ giá trị nào.

Thí 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>
</html>

Đ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 đa chiều được truy cập bằng cách sử dụng nhiều chỉ mục.

Thí 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 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ó thể tạo mảng số theo cùng một kiểu.

<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