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:
- Dưới đây là sơ đồ minh họa cho nguyên lý hoạt động của vòng lặp while:
- 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.
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 } ?>
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 } ?>
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 while và do while)
- Cú pháp:
- Dưới đây là sơ đồ minh họa cho nguyên lý hoạt động của vòng lặp do while:
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); ?>
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); ?>
3) Điểm khác nhau giữa vòng lặp while và do while
- Như đã nói ở trên, điểm khac nhau duy nhất giữa vòng lặp while và do 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.
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++; } ?>
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++; } ?>
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++; } ?>
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.
<?php $mobile = array("HTC", "Nokia", "SamSung", "LG", "Apple", "Lenovo"); $i = 0; while($i < count($mobile)){ echo "</p>" . $mobile[$i] . "</p>"; $i++; } ?>