PHP - Vòng lặp

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

  • Vòng lặp for − Lặp qua một khối code một số lần đã xác định.
  • Vòng lặp while − Lặp qua một khối code nếu và miễn là một điều kiện đã xác định là true.
  • Vòng lặp do...while − Lặp qua một khối code một lần, và sau đó lặp lại vòng lặp đó miễn là một điều kiện đã cho là true.
  • Vòng lặp foreach − Lặp qua một khối code cho mỗi phần tử trong một mảng.

Ở cuối chương, chúng ta sẽ thảo luận về các từ khóa continue và break để điều khiển sự thực thi của các vòng lặp trong PHP.

Vòng lặp for trong PHP

Lệnh for được sử dụng khi bạn biết trước bao nhiêu lần bạn muốn thực thi một lệnh hoặc một khối lệnh trong PHP.

Cú pháp

for (<i>khởi_tạo</i>; <i>điều_kiện</i>; <i>tăng_giảm_giá_trị</i>)
{
   <i>phần code để thực thi</i>
}

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

Ví dụ

Ví dụ sau tạo 5 lần lặp và thay đổi giá trị đã gán của hai biến qua mỗi lần lặp.

<html>
   <body>
      <?php
         $a = 0;
         $b = 0;
         for( $i=0; $i<5; $i++ )
         {
            $a += 10;
            $b += 5;
         }
         echo ("Sau vòng lặp, giá trị a=$a và b=$b" );
      ?>
   </body>
</html>

Lưu chương trình trên trong một file có tên là test.php trong htdocs, sau đó mở trình duyệt và gõ địa chỉ http://localhost:8080/test.php sẽ cho kết quả:

Vòng lặp while trong PHP

Lệnh while trong PHP sẽ thực thi một khối code nếu và miễn là một điều kiện đã xác định là true.

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

Cú pháp

while (<i>điều_kiện</i>)
{
   <i>phần code được thực thi nếu điều kiện là true</i>
}

Ví dụ

Ví dụ sau giảm giá trị một biến qua mỗi lần lặp và tăng giá trị biến đếm tới khi nó đạt đến 10, thì sự ước lượng là false và vòng lặp kết thúc.

<html>
   <body>
      <?php
         $i = 0;
         $num = 30;
         while( $i < 10)
         {
            $num--;
            $i++;
         }
         echo ("Vòng lặp dừng tại giá trị i = $i và num = $num" );
      ?>
   </body>
</html>

Lưu chương trình trên trong một file có tên là test.php trong htdocs, sau đó mở trình duyệt và gõ địa chỉ http://localhost:8080/test.php sẽ cho kết quả:

PHP - Vòng lặp 4

Lệnh vòng lặp do…while trong PHP

Lệnh do…while sẽ thực thi một khối code ít nhất một lần. Sau đó nó sẽ lặp lại vòng lặp miễn là điều kiện là true.

Cú pháp

do
{
   <i>phần code để thực thi</i>
}
while (<i>điều_kiện</i>);

Ví dụ

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

<html>
   <body>
      <?php
         $i = 0;
         do{
            $i++;
         }
         while( $i < 10 );
         echo ("Vòng lặp dừng tại giá trị i = $i" );
      ?>
   </body>
</html>

Lưu chương trình trên trong một file có tên là test.php trong htdocs, sau đó mở trình duyệt và gõ địa chỉ http://localhost:8080/test.php sẽ cho kết quả:

PHP - Vòng lặp 5

Lệnh vòng lặp foreach trong PHP

Lệnh vòng lặp foreach được sử dụng để lặp qua một mảng. Với mỗi lần lặp, giá trị cho phần tử mảng hiện tại được gán cho $value và con trỏ mảng được di chuyển tới phần tử kế tiếp và trong lần lặp tiếp theo thì phần tử kế tiếp sẽ được xử lý.

Cú pháp

foreach (<i>Mảng </i>as<i> giá_trị</i>)
{
   <i>phần code để thực thi</i>
}

Ví dụ

Bạn 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 "Giá trị phần tử mảng là $value <br />";
         }
      ?>
   </body>
</html>

Lưu chương trình trên trong một file có tên là test.php trong htdocs, sau đó mở trình duyệt và gõ địa chỉ http://localhost:8080/test.php sẽ cho kết quả:

PHP - Vòng lặp 6

Lệnh break trong PHP

Từ khóa break trong PHP được sử dụng để kết thúc sự thực thi của một vòng lặp một cách đột ngột.

Lệnh break được đặt bên trong khối lệnh. Nó trao bạn toàn quyền điều khiển bất cứ khi nào bạn muốn thoát khỏi vòng lặp. Sau khi ra khỏi vòng lặp, lệnh ngay sau vòng lặp đó sẽ được thực thi.

Ví dụ

Ví dụ sau kiểm tra điều kiện true khi giá trị biến đếm = 3 và vòng lặp kết thúc.

<html>
   <body>
      <?php
         $i = 0;
         while( $i < 10)
         {
            $i++;
            if( $i == 3 )<b>break;</b>
         }
         echo ("Vòng lặp dừng tại giá trị i = $i" );
      ?>
   </body>
</html>

Lưu chương trình trên trong một file có tên là test.php trong htdocs, sau đó mở trình duyệt và gõ địa chỉ http://localhost:8080/test.php sẽ cho kết quả:

PHP - Vòng lặp 8

Lệnh continue trong PHP

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

Giống lệnh break, lệnh continue được đặt bên trong khối lệnh đang chứa code mà vòng lặp đó thực thi, được đặt trước bởi một biểu thức kiểm tra điều kiện. Khi gặp lệnh continue, phần còn lại của vòng lặp bị bỏ qua và tiếp tục vòng lặp tiếp theo.

Ví dụ

Vòng lặp sau in ra giá trị của một mảng, nếu thỏa mãn điều kiện thì in ra, ngược lại thì bỏ qua và tiếp tục vòng lặp.

<html>
   <body>
      <?php
         $array = array( 1, 2, 3, 4, 5);
         foreach( $array as $value )
         {
            if( $value == 3 )<b>continue;</b>
            echo "Gia tri cua phan tu mang la $value <br />";
         }
      ?>
   </body>
</html>

Lưu chương trình trên trong một file có tên là test.php trong htdocs, sau đó mở trình duyệt và gõ địa chỉ http://localhost:8080/test.php sẽ cho kết quả:

PHP - Vòng lặp 10


Bình luận