Các bài trước mình có đưa ra rất nhiều ví dụ, thế nhưng nó chỉ thực thi một lần nhất định và không có sự  lặp lại. Tiếp tục với bài 9 trong lập trình PHP căn bản chúng ta sẽ tìm hiểu về vòng lặp While và Do While trong PHP và xem nó lặp như thế nào nhé!

1. Khái niệm vòng lặp While, Do - While trong PHP

  1. Vòng lặp While là vòng lặp kiểm tra điểu kiện trước nếu điều kiện đúng sẽ lặp câu lệnh cho đến khi điều kiện sai sẽ dừng lại vòng lặp
  2. Vòng lặp Do - While sẽ chạy câu lệnh trước (ít nhất một lần) rồi mới kiểm tra điều kiện, nếu điều kiện đúng sẽ tiếp tục lặp, ngược lại điều kiện sai sẽ dừng vòng lặp.
Cú pháp vòng lặp While
while (<điều_kiện>){
          <câu_lệnh>;       
}

Cú pháp vòng lặp Do - While
do{
         <câu lệnh>;
}while(<điều_kiện>);
Chú ý: Các vòng lặp không thể lặp trực tiếp các thẻ của html 
Để hiểu rõ hơn mời các bạn sang phần 2 để xem các ví dụ chi tiết nhé!

2. Cách khai báo và sử dụng vòng lặp While, Do - While trong PHP

Ví dụ vòng lặp While 
Ví dụ 1: Dùng vòng lặp While để hiển thị ra 5 lần dòng chữ "Xin chào các bạn". Các bạn xem nhé!

<?php 
$dem = 0;// Khai báo biến $dem (biến điều kiện) có giá trị 0

// Trong khi biến $dem bé hơn hoặc bằng 5 thì lặp (Đây là điều kiện)
while ($dem <= 5) {
    echo " Xin chào các bạn"."<br />"; // Hiển thị lặp dòng "Xin chào các bạn"
    $dem ++; // Mỗi lần lặp tăng biến đếm lên 1 đơn vị
}
?> 

Kết quả hiển thị
Xin chào các bạn
Xin chào các bạn
Xin chào các bạn
Xin chào các bạn
Xin chào các bạn
Xin chào các bạn
Mình sẽ giải thích như sau:
Trước tiên mình khai báo biến $dem có giá trị bằng 0 để làm điều kiện khi thực hiện vòng while

Tiếp theo mình dùng vòng while với điều kiện biến $dem phải bé hơn hoặc bằng 5 thì mới lặp dòng chữ "Xin chào các bạn".

Cuối cùng mình khai báo biến $dem ++ trong vòng lặp while nghĩa là để sau khi lặp được 1 vòng biến $dem sẽ tăng lên một đơn vị và cứ thế tăng đến 6 đơn vị thì vòng lặp while sẽ dừng lại vì không thoả mãn điều kiện biến $dem <= 5 Nếu mình không khai báo biến $dem ++ thì nó sẽ chỉ có giá trị là 0 và luôn luôn thoả mãn với điều kiện biến $diem bé hơn hoặc bằng 5 nên nó sẽ lặp không có điểm dừng. (Vòng lặp vô hạn, rất tốn tài nguyên!).

Ví dụ 2: Dùng vòng lặp do - while để in ra màn hình 5 lần dòng chữ "Xin chào các bạn". Các bạn cùng xem nhé!


<?php 
$dem = 0;// Khai báo biến $dem có giá trị 0
// Thực hiện câu lệnh do để chạy câu lệnh lặp
do{
// Hiển thị dòng chữ "Xin chào các bạn" và suống dòng bằng thẻ "<br />""
echo 'Xin chào các bạn'."<br />";
// Thực hiện tăng biến $dem lên một đơn vị mỗi khi lặp được một vòng 
$dem ++;
}while ($dem <=5);// Điều kiện lặp biến $dem bén hơn bằng 5
?> 

Kết quả hiển thị
Xin chào các bạn
Xin chào các bạn
Xin chào các bạn
Xin chào các bạn
Xin chào các bạn
Xin chào các bạn
Mình sẽ giải thích như sau:
Trước tiên mình khai báo biến $dem có giá trị bằng 0 để làm điều kiện khi thực hiện vòng do - while.

Vì vòng lặp  do - while là đưa vào câu lệnh chạy trước ít nhất 1 lần mới kiểm tra điều kiện nên mình dùng cú pháp do và đưa vào câu lệnh lặp của do chính là echo "Xin chào các bạn" và thứ hai là biến $dem ++ để nó tự tăng lên một đơn vị mỗi khi thực hiện xong 1 lần lặp.Nếu không có biến $dem ++ để tăng lên 1 đơn vị thì biến $dem sẽ chỉ có giá trị bằng 0luôn thoả mãn điều kiện bé hơn 5, vì thế vòng lặp sẽ lặp vô hạn.

Cuối cùng mình dùng cú pháp while và đưa điều kiện biến $dem phải bé hơn hoặc bằng 5 thì mới tiếp tục lặp.

3. Tổng kết kiến thức

Qua bài này các bạn chỉ cần nắm rõ về 3 khái niệm, thứ nhất vòng lặp while sẽ kiểm tra điều kiện trước rồi mới thực thi lặp, thứ hai vòng lặp do - while sẽ thực hiện câu lệnh trước ít nhất 1 lần rồi mới kiểm tra điều kiện nếu điều kiện thoả mãn sẽ tiếp tục lặp, thứ ba vòng lặp phải có điều kiện dừng nếu không có sẽ là vòng lặp vô hạn.