Trong PHP, có ba loại vòng lặp được sử dụng phổ biến: vòng lặp for
, while
và do...while
. Cả ba đều cho phép lặp lại một tập lệnh(hành động) nhiều lần, cho đến khi một điều kiện cụ thể được đáp ứng. Bài viết dưới đây là hướng dẫn về cách sử dụng ba loại vòng lặp này trong PHP, cùng bắt đầu nhé.
Vòng lặp for
Vòng lặp for
trong PHP được sử dụng để lặp lại một khối mã với số lần cụ thể nhất định. Cú pháp của vòng lặp for
như sau:
for (init; condition; increment) {
// Khối lệnh cần thực hiện
}
Trong đó:
- init:là biểu thức khởi tạo giá trị ban đầu cho vòng lặp.
- condition: là điều kiện kiểm tra để quyết định liệu vòng lặp có tiếp tục hoặc dừng lại.
- increment: Biểu thức cập nhật biến lặp
Ví dụ: Mình sẽ có một ví dụ minh họa để bạn dễ hiểu và nắm được cách hoạt động của vòng lặp for.
Để hiển thị dãy số từ 1 cho tới 10, thay vì sử dụng câu lệnh echo 10 lần, chúng ta có thể sử dụng vòng lặp for như sau:
for ($i = 1; $i <= 10; $i++) {
echo $i . " "; // ." " để tạo khoẳng trắng với mỗi số sau khi hiển thị
}
Kết quả: 1 2 3 4 5 6 7 8 9 10
Với ví dụ này, tham số thứ 1 khởi tạo giá trị biến $i bằng 1, tham số thứ 2 kiểm tra điều kiện là biến $i đang nhỏ hơn hoặc bằng 10 thì tiếp tục thực hiện vòng lặp, tham số thứ 3 tăng biến lặp $i lên 1 đơn vị.
Vòng lặp while
Vòng lặp while
trong PHP sẽ lặp lại một khối mã nếu điều kiện được đáp ứng là đúng (Vòng lặp while
thường được sử dụng lặp với những yêu cầu lặp với số lần lặp không xác định). Cú pháp của vòng lặp while
như sau:
while (condition) {
// Khối lệnh cần thực hiện
}
Trong đó, condition
là điều kiện kiểm tra để quyết định liệu vòng lặp có tiếp tục hoặc dừng lại. Khối mã bên trong vòng lặp sẽ được lặp lại cho đến khi điều kiện condition
là sai.
Ví dụ: Cũng với ví trên, sử dụng vòng lặp whie hiển thị dãy số từ 1 tới 10.
$i = 1;
while ($i <= 10) {
echo $i . " ";// ." " để tạo khoẳng trắng với mỗi số sau khi hiển thị
$i++;
}
Kết quả: 1 2 3 4 5 6 7 8 9 10
Ví dụ 2: Thêm một ví dụ dễ hiểu với vòng lặp whie. Ví dụ này sẽ sinh ngẫu nhiên một số cho đến khi nó chia hết cho 5.
$num = 1; //Ban đầu gắn num = 1
while ($num % 5 != 0) //Lặp nếu num không chia hết cho 5
{
$num = rand(); //Sinh ngẫu nhiên 1 số
}
echo $num; //Hiển thị ra num
Bạn chạy thử chương trình nhé, ví dụ này sẽ luôn luôn in ra một số có thể chia hết cho 5.
Vòng lặp do…while
Vòng lặp do...while
trong PHP tương tự như vòng lặp while. Tuy nhiên với while thì kiểm tra điều kiện trước sau đó thực hiện khối lệnh, ngược lại do…while thực hiện khối lệnh trước rồi mới kiểm tra điều kiện. Vì vậy khối lệnh trong vòng lặp do…while trong mọi trường hợp đều sẽ được thực hiện ít nhất 1 lần.
Cú pháp vòng lặp do…while
do {
// Khối lệnh cần thực hiện
} while (condition);
Trong đó: condition là điều kiện kiểm tra nếu điều kiện đúng tiếp tục thực hiện lại vòng lặp.
Viết lại ví dụ in dãy số từ 1 tới 10 với do…while như sau:
$i = 0;
do {
echo $i . " "; // ." " để tạo khoẳng trắng với mỗi số sau khi hiển thị
$i++;
} while ($i < 10);
Ví dụ 2: Vẫn với ví dụ sinh ngẫu nhiên một số cho tới khi số đó chia hết cho 5.
$num = 1; //Ban đầu gắn num = 1
do
{
$num = rand(); //Sinh ngẫu nhiên 1 số
}while ($num % 5 != 0); //Lặp lại nếu num không chia hết cho 5
echo $num; //Hiển thị ra num
Ví dụ 3: Ví dụ này sẽ cho bạn thấy rõ nhất sự khác nhau với vòng lặp while và do…while.
Ví dụ này ban đầu gắn biến num = 5, điều kiện lặp là num != 5 vậy tức là điều kiện là sai luôn từ lần đầu. Tuy nhiên với vòng lặp do…while sẽ thực hiện khối lệnh trước và kiểm tra điều kiện sau, vì vậy khối lệnh vẫn sẽ được thực hiện ít nhất là 1 lần. Tức là chuỗi TUICOCACH.COM Blog học lập trình vẫn sẽ được hiển thị một lần.
$num = 5;
do{
echo "TUICOCACH.COM Blog học lập trình";
}while($num != 5);
Kết quả: TUICOCACH.COM Blog học lập trình
Với vòng lặp while sẽ kiểm tra điều kiện trước vì vậy khối lệnh bên trong sẽ không được thực hiện lần nào với điều kiện sai ngay từ bước đầu, chuỗi “TUICOCACH.COM Blog học lập trình” sẽ không được hiển thị .
$num = 5;
while($num != 5){
echo "TUICOCACH.COM Blog học lập trình";
}
Kết quả: [Rỗng]
Cảm ơn bạn đã đọc hết bài viết! Hy vọng qua bài viết này bạn nắm rõ được và biết áp dụng vòng lặp for, while, do…while vào các bài tập thực tế.
[XEM TẤT CẢ BÀI VIẾT CHUYÊN MỤC HƯỚNG DẪN PHP TẠI ĐÂY]
XEM THÊM Sự khác nhau giữa toán tử so sánh “==” và “===” trong PHP Mảng (Array) trong PHP – Tìm hiểu về mảng trong lập trình PHP MySql là gì? Tìm hiểu về hệ quản trị cơ sở dữ liệu MySql Mã nguồn Website du lịch việt xây dựng trên PHP Và MYSQL Mã nguồn website xem video trực tuyến xây dựng bằng PHP và MySql Mã nguồn website chia sẻ sách bằng PHP và MySql – Source code Tìm hiểu câu lệnh IF, IF ELSE, ELSE trong PHP Cấu Trúc Rẽ Nhánh Switch … Case trong PHP | Học PHP cơ bản Mã nguồn website thương mại điện tử – Cửa hàng Chương Mobile