Cấu trúc vòng lặp while và do…while trong PHP

Đây là bài 19/53 bài của series môn học Lập trình Web PHP

Trong bài này, chúng ta sẽ tìm hiểu về vòng lặp whiledo…while trong PHP. Để học tốt bài này, các bạn cần đọc lại bài Cài đặt môi trường lập trình Web PHP với XAMPP để biết cách chạy ứng dụng web PHP với XAMPP.

1. Vòng lặp while trong PHP

Vòng lặp while trong PHP được sử dụng để lặp lại một khối lệnh nếu thỏa điều kiện nào đó. Cú pháp:

while (<điều kiện lặp>) {
  //code to be executed;
}

với <điều kiện lặp> thường là biểu thức với các toán tử quan hệ, kết quả trả về là true hoặc false.

Nguyên lý hoạt động của vòng lặp while như sau:

Kiểm tra <điều kiện lặp>, nếu <điều kiện lặp> đúng (true) thì dòng lệnh trong while sẽ được thực thi.

Quá trình kiểm tra <điều kiện lặp> và thực thi dòng lệnh trong while sẽ chấm dứt cho đến khi <điều kiện lặp> sai (false). Tức là, nếu bất cứ khi nào <điều kiện lặp> sai (false) thì vòng lặp while sẽ chấm dứt.

Ví dụ hiển thị số 1 đến 5 trong PHP

<?php
$x = 1;
while($x <= 5) {
  echo $x." ";
  $x++;
}
?>
Kết quả
1 2 3 4 5

2. Vòng lặp do…while trong PHP

Vòng lặp do while cũng giống vòng lặp while nhưng khối lệnh trong vòng lặp thực hiện trước rồi mới kiểm tra điều kiện lặp sau. Cú pháp:

do {
  //code to be executed;
}while (<điều kiện lặp>);

với <điều kiện lặp> thường là biểu thức với các toán tử quan hệ, kết quả trả về là true (0) hoặc false (0).

Nguyên lý hoạt động của vòng lặp do while như sau:

Thực thi dòng lệnh trong do while trước. Sau đó, kiểm tra <điều kiện lặp>, nếu <điều kiện lặp> đúng (true) thì thực thi dòng lệnh trong do while lần nữa.

Quá trình kiểm tra <điều kiện lặp> và thực thi dòng lệnh trong do while sẽ chấm dứt cho đến khi <điều kiện lặp> sai (false). Tức là, nếu bất cứ khi nào <điều kiện lặp> sai (false) thì vòng lặp do while sẽ chấm dứt.

<?php
$i = 1;
$n = 5;
// do...while loop from 1 to 5
do {
  echo $i." ";
  $i++;
} while($i <= $n);
?>
Kết quả
1 2 3 4 5

Bên dưới là một ví dụ khác nữa của vòng lặp do while:

<?php
$x = 6;
do {
  echo $x." ";
  $x++;
} while ($x <= 5);
?>
Kết quả
6

Trong ví dụ trên, vòng lặp do while sẽ chạy một lần và hiện thị ra giá trị của $x. Sau đó, kiểm tra điều kiện $x <= 5 thì không thỏa nên dừng vòng lặp.

3. Vòng lặp while vô hạn trong PHP

Nếu <điều kiện lặp> của vòng lặp whiledo while luôn luôn là true thì đó là vòng lặp vô hạn.

<?php
// infinite while loop
while(true){
  // body of loop
}
// infinite do...while loop
$count = 1;
do {
 // body of loop
} while($count == 1)
?>

Lưu ý: Cần tránh trường hợp <điều kiện lặp> luôn luôn là true sẽ dẫn đến vòng lặp vô hạn. Cũng có những trường hợp cần vòng lặp vô hạn nhưng không nhiều trường hợp như vậy. Lúc này, cần cân nhắc kỹ trước khi sử dụng vòng lặp vô hạn.

5/5 - (1 bình chọn)
Bài trước và bài sau trong môn học<< Cấu trúc vòng lặp for và foreach trong PHPSử dụng câu lệnh break và continue với cấu trúc vòng lặp trong PHP >>
Chia sẻ trên mạng xã hội:

Trả lời

Lưu ý:

1) Vui lòng bình luận bằng tiếng Việt có dấu.

2) Khuyến khích sử dụng tên thật và địa chỉ email chính xác.

3) Mọi bình luận trái quy định sẽ bị xóa bỏ.