PHP - Các loại vòng lặp

Vòng lặp trong PHP được sử dụng để thực thi cùng một khối mã với một số lần xác định. PHP hỗ trợ bốn kiểu vòng lặp sau.

  • for - lặp qua một khối mã một số lần xác định.

  • while - lặp qua một khối mã nếu và miễn là một điều kiện được chỉ định là đúng.

  • do...while - lặp qua một khối mã một lần và sau đó lặp lại vòng lặp miễn là điều kiện đặc biệt là đúng.

  • foreach - lặp qua một khối mã cho mỗi phần tử trong một mảng.

Chúng ta sẽ thảo luận về continuebreak từ khóa được sử dụng để kiểm soát việc thực thi các vòng lặp

Câu lệnh vòng lặp for

Câu lệnh for được sử dụng khi bạn biết số lần bạn muốn thực hiện một câu lệnh hoặc một khối câu lệnh.

Cú pháp

for (initialization; condition; increment){
   code to be executed;
}

Bộ khởi tạo được sử dụng để đặt giá trị bắt đầu cho bộ đếm số lần lặp lại vòng lặp. Một biến có thể được khai báo ở đây cho mục đích này và theo truyền thống, nó được đặt tên là $ i.

Thí dụ

Ví dụ sau thực hiện năm lần lặp và thay đổi giá trị được gán của hai biến trên mỗi lần vượt qua của vòng lặp:

<html>
   <body>
      
      <?php
         $a = 0;
         $b = 0;
         
         for( $i = 0; $i<5; $i++ ) {
            $a += 10;
            $b += 5;
         }
         
         echo ("At the end of the loop a = $a and b = $b" );
      ?>
   
   </body>
</html>

Điều này sẽ tạo ra kết quả sau:

At the end of the loop a = 50 and b = 25

Câu lệnh lặp while

Câu lệnh while sẽ thực thi một khối mã nếu và miễn là biểu thức kiểm tra là đúng.

Nếu biểu thức kiểm tra là true thì khối mã sẽ được thực thi. Sau khi mã được thực thi, biểu thức kiểm tra sẽ được đánh giá một lần nữa và vòng lặp sẽ tiếp tục cho đến khi biểu thức kiểm tra được phát hiện là sai.

Cú pháp

while (condition) {
   code to be executed;
}

Thí dụ

Ví dụ này giảm một giá trị biến trên mỗi lần lặp lại của vòng lặp và bộ đếm tăng lên cho đến khi nó đạt đến 10 khi đánh giá là sai và vòng lặp kết thúc.

<html>
   <body>
   
      <?php
         $i = 0;
         $num = 50;
         
         while( $i < 10) {
            $num--;
            $i++;
         }
         
         echo ("Loop stopped at i = $i and num = $num" );
      ?>
      
   </body>
</html>

Điều này sẽ tạo ra kết quả sau:

Loop stopped at i = 10 and num = 40

Câu lệnh lặp do ... while

Câu lệnh do ... while sẽ thực thi một khối mã ít nhất một lần - sau đó nó sẽ lặp lại vòng lặp miễn là một điều kiện là đúng.

Cú pháp

do {
   code to be executed;
}
while (condition);

Thí dụ

Ví dụ sau sẽ tăng giá trị của i ít nhất một lần và nó sẽ tiếp tục tăng giá trị của biến i miễn là nó có giá trị nhỏ hơn 10 -

<html>
   <body>
   
      <?php
         $i = 0;
         $num = 0;
         
         do {
            $i++;
         }
         
         while( $i < 10 );
         echo ("Loop stopped at i = $i" );
      ?>
      
   </body>
</html>

Điều này sẽ tạo ra kết quả sau:

Loop stopped at i = 10

Câu lệnh lặp foreach

Câu lệnh foreach được sử dụng để lặp qua các mảng. Đối với mỗi lần truyền, giá trị của phần tử mảng hiện tại được gán cho giá trị $ và con trỏ mảng được di chuyển bởi một và trong lần truyền tiếp theo, phần tử tiếp theo sẽ được xử lý.

Cú pháp

foreach (array as value) {
   code to be executed;
}

Thí dụ

Hãy thử ví dụ sau để liệt kê các giá trị của một mảng.

<html>
   <body>
   
      <?php
         $array = array( 1, 2, 3, 4, 5);
         
         foreach( $array 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

Tuyên bố ngắt

PHP break từ khóa được sử dụng để kết thúc quá trình thực thi một vòng lặp sớm.

Các breakcâu lệnh nằm bên trong khối câu lệnh. Nó cung cấp cho bạn toàn quyền kiểm soát và bất cứ khi nào bạn muốn thoát khỏi vòng lặp, bạn có thể ra ngoài. Sau khi thoát ra khỏi một vòng lặp, ngay lập tức câu lệnh của vòng lặp sẽ được thực thi.

Thí dụ

Trong ví dụ sau, kiểm tra điều kiện trở thành true khi giá trị bộ đếm đạt đến 3 và vòng lặp kết thúc.

<html>
   <body>
   
      <?php
         $i = 0;
         
         while( $i < 10) {
            $i++;
            if( $i == 3 )break;
         }
         echo ("Loop stopped at i = $i" );
      ?>
   
   </body>
</html>

Điều này sẽ tạo ra kết quả sau:

Loop stopped at i = 3

Tuyên bố tiếp tục

PHP continue từ khóa được sử dụng để tạm dừng lặp lại hiện tại của một vòng lặp nhưng nó không kết thúc vòng lặp.

Giống như break tuyên bố continuecâu lệnh nằm bên trong khối câu lệnh chứa mã mà vòng lặp thực thi, trước một kiểm tra có điều kiện. Đối với cuộc gặp gỡ vượt quacontinue câu lệnh, phần còn lại của mã vòng lặp bị bỏ qua và lần chuyển tiếp theo bắt đầu.

Thí dụ

Trong ví dụ sau, vòng lặp in ra giá trị của mảng nhưng điều kiện nào trở thành true thì nó chỉ cần bỏ qua mã và giá trị tiếp theo được in.

<html>
   <body>
   
      <?php
         $array = array( 1, 2, 3, 4, 5);
         
         foreach( $array as $value ) {
            if( $value == 3 )continue;
            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 4
Value is 5