Vòng lặp while & do while trong PHP

1) Vòng lặp while trong PHP - Trước khi nêu khái niệm "vòng lặp while là gì?" thì tôi có một ví dụ để giúp bạn có thể hình dung sơ qua về vòng lặp while. - Bạn đưa ra một điều kiện, nếu điều kiện đó là sai thì kết thúc, còn nếu đúng thì một đoạn mã sẽ được thực thi và bạn tiếp tục quay ...

1) Vòng lặp while trong PHP

- Trước khi nêu khái niệm "vòng lặp while là gì?" thì tôi có một ví dụ để giúp bạn có thể hình dung sơ qua về vòng lặp while.

- Bạn đưa ra một điều kiện, nếu điều kiện đó là sai thì kết thúc, còn nếu đúng thì một đoạn mã sẽ được thực thi và bạn tiếp tục quay lại kiểm tra điều kiện, nếu điều kiện đó là sai thì kết thúc, còn nếu đúng thì một đoạn mã sẽ được thực thi và bạn tiếp tục quay lại kiểm tra điều kiện . . . .

- Hành động đó cứ lặp đi lặp lại mãi cho đến khi bạn kiểm tra thấy điều kiện là sai thì kết thúc.

  ==> ĐÓ CHÍNH LÀ VÒNG LẶP WHILE

- Vòng lặp while dùng để lặp lại việc thực thi một đoạn mã nếu điều kiện mà ta đưa ra vẫn còn đúng.

- Cú pháp:

while(điều kiện){ //Đoạn mã mà bạn muốn thực thi }

- Dưới đây là sơ đồ minh họa cho nguyên lý hoạt động của vòng lặp while:

Bắt đầu
(Kiểm tra điều kiện)
ĐIỀU KIỆN
Đoạn mã mà bạn muốn thực thi được thực thi
Vòng lặp kết thúc
ĐÚNG
SAI
Tiếp tục quay lại kiểm tra điều kiện

- Lưu ý: Tương tự như vòng lặp for, nếu điều kiện của vòng lặp luôn luôn đúng thì vòng lặp sẽ không bao giờ kết thúc và nó khiến chương trình bị lỗi. Vì vậy, bên trong đoạn mã mà bạn muốn thực thi, bạn phải nghiên cứu thêm vào một số câu lệnh nào đó để làm cho điều kiện dần dần trở thành bị sai.

Ví dụ 1

Dùng vòng lặp while trong PHP để hiển thị dãy số tăng dần từ một đến chín

<?php
    $i = 1;
    while($i < 10){
        echo "<p>" . $i . "</p>";
        $i++; //Câu lệnh này giúp cho điều kiện dần trở nên bị SAI
    }
?>
Xem ví dụ
Ví dụ 2

Dùng vòng lặp while trong PHP để hiển thị dãy số giảm dần từ tám xuống hai

<?php
    $i = 8;
    while($i > 1){
        echo "<p>" . $i . "</p>";
        $i--; //Câu lệnh này giúp cho điều kiện dần trở nên bị SAI
    }
?>
Xem ví dụ

2) Vòng lặp do while trong PHP

- Tương tự như vòng lặp while, vòng lặp do while dùng để lặp lại việc thực thi một đoạn mã nếu điều kiện mà ta đưa ra vẫn còn đúng.

- Tuy nhiên, đối với vòng lặp do while thì ở lần đầu tiên đoạn mã sẽ được thực thi luôn mà không cần phải kiểm tra điều kiện (đó chính là điểm khác nhau giữa vòng lặp whiledo while)

- Cú pháp:

do{ //Đoạn mã mà bạn muốn thực thi }while(điều kiện);

- Dưới đây là sơ đồ minh họa cho nguyên lý hoạt động của vòng lặp do while:

Bắt đầu
Đoạn mã mà bạn muốn thực thi được thực thi
ĐIỀU KIỆN
Vòng lặp kết thúc
Kiểm tra điều kiện
ĐÚNG
SAI
Ví dụ 1

Dùng vòng lặp do while trong PHP để hiển thị dãy số tăng dần từ một đến chín

<?php
    $i = 1;
    do{
        echo "<p>" . $i . "</p>";
        $i++; //Câu lệnh này giúp cho điều kiện dần trở nên bị SAI
    }while($i < 10);
?>
Xem ví dụ
Ví dụ 2

Dùng vòng lặp do while trong PHP để hiển thị dãy số giảm dần từ tám xuống hai

<?php
    $i = 8;
    do{
        echo "<p>" . $i . "</p>";
        $i--; //Câu lệnh này giúp cho điều kiện dần trở nên bị SAI
    }while($i > 1);
?>
Xem ví dụ

3) Điểm khác nhau giữa vòng lặp whiledo while

- Như đã nói ở trên, điểm khac nhau duy nhất giữa vòng lặp whiledo while chính là đối với vòng lặp do while thì ở lần đầu tiên, đoạn mã sẽ được thực thi mà không cần phải kiểm tra điều kiện (tức là cho dù điều kiện có đúng hay sai thì đoạn mã vẫn được thực thi ít nhất một lần)

- Ví dụ: Bên dưới chúng ta có một đoạn mã về vòng lặp while và một đoạn mã về vòng lặp do whiile, điều kiện ban đầu đưa ra là sai. Tuy nhiên, vòng lặp do whiile vẫn được thực thi một lần.

<?php
    $i = 11;
    while($i < 10){
        echo "<p>" . $i . "</p>";
        $i++;
    }
?>
<?php
    $i = 11;
    do{
        echo "<p>" . $i . "</p>";
        $i++;
    }while($i < 10);
?>
Xem ví dụ
Xem ví dụ

4) Sử dụng lệnh break và lệnh continue trong vòng lặp

- Lệnh break và lệnh continue thường được đặt bên trong vòng lặp.

  • (1) Khi lệnh break được thực thi, vòng lặp sẽ kết thúc mặc cho điều kiện vẫn còn đang đúng.
  • (2) Khi lệnh continue được thực thi, những câu lệnh còn lại của lần lặp hiện tại sẽ bị bỏ qua.
Ví dụ 1

Dùng vòng lặp while để hiển thị dãy số từ một đến mười, tuy nhiên hiển thị tới số năm thì dừng lại

<?php
    $i = 1;
    while($i < 11){
        if($i == 6){break;}
        echo "<p>" . $i . "</p>";
        $i++;
    }
?>
Xem ví dụ
Ví dụ 2

Dùng vòng lặp while để hiển thị dãy số từ một đến mười (ngoại trừ số: ba, năm, chín)

<?php
    $i = 1;
    while($i < 11){
        if($i == 3 || $i ==5 || $i ==9){
            $i++;
            continue;
        }
        echo "<p>" . $i . "</p>";
        $i++;
    }
?>
Xem ví dụ

5) Vòng lặp lồng nhau

- Tương tự như vòng lặp for, vòng lặp while (do while) cũng có thể lồng vào nhau:

  • Vòng lặp "while" lồng bên trong vòng lặp "while"
  • Vòng lặp "do while" lồng bên trong vòng lặp "do while"
  • Vòng lặp "while" lồng bên trong vòng lặp "do while"
  • Vòng lặp "do while" lồng bên trong vòng lặp "while"

- Bên dưới là một ví dụ về vòng lặp while lồng bên trong vòng lặp while.

<?php
    $i = 0;
    while($i < 10){
        $j = 1;
        while($j < 10){
            echo "<p>".$i.$j."</p>";
            $j++;
        }
        $i++;
    }
?>
Xem ví dụ

6) Lặp qua một lần các phần tử của mảng

- Ta có thể sử dụng vòng lặp while để lặp qua một lần các phần tử trong mảng.

Ví dụ
<?php
    $mobile = array("HTC", "Nokia", "SamSung", "LG", "Apple", "Lenovo");
    $i = 0;
    while($i < count($mobile)){
        echo "</p>" . $mobile[$i] . "</p>";
        $i++;
    }
?>
Xem ví dụ
0