Vòng lặp while
Thuộc phần Kiến thức cơ bản trong hành trình PHP của Coddy. Bài học 48 trên 71.
Vòng lặp for hoạt động rất tốt khi bạn biết chính xác số lần lặp, còn vòng lặp while phù hợp khi bạn muốn tiếp tục lặp cho đến khi điều kiện trở thành sai.
Vòng lặp while kiểm tra điều kiện trước mỗi lần lặp. Nếu điều kiện đúng, đoạn code bên trong sẽ chạy. Quá trình này tiếp tục cho đến khi điều kiện trở thành sai.
<?php
$count = 1;
while ($count <= 3) {
echo "Count: $count\n";
$count++;
}
?>Kết quả in ra:
Count: 1
Count: 2
Count: 3Vòng lặp bắt đầu bằng cách kiểm tra xem $count <= 3 có đúng không. Vì điều kiện đúng nên code chạy và tăng $count. Khi $count đạt đến 4, điều kiện không còn đúng và vòng lặp dừng lại.
Quan trọng: Luôn đảm bảo có điều gì đó bên trong vòng lặp khiến điều kiện cuối cùng trở thành sai. Nếu không, bạn sẽ tạo ra một vòng lặp vô hạn không bao giờ dừng.
<?php
$total = 0;
$num = 1;
while ($total < 10) {
$total += $num;
$num++;
}
echo $total;
?>Câu lệnh này tiếp tục cộng các số cho đến khi tổng đạt hoặc vượt quá 10, sau đó in ra giá trị cuối cùng.
Thử thách
DễĐọc một số nguyên duy nhất từ đầu vào, biểu thị tổng mục tiêu.
Dùng vòng lặp while để cộng các số liên tiếp bắt đầu từ 1 (1, 2, 3, 4, ...) cho đến khi tổng đạt hoặc vượt tổng mục tiêu.
In tổng cuối cùng ở dòng đầu tiên và số cuối cùng được cộng ở dòng thứ hai.
Ví dụ 1:
Nếu đầu vào là 10, đầu ra sẽ là:
10
4(1 + 2 + 3 + 4 = 10, đạt tổng mục tiêu)
Ví dụ 2:
Nếu đầu vào là 15, đầu ra sẽ là:
15
5(1 + 2 + 3 + 4 + 5 = 15)
Ví dụ 3:
Nếu đầu vào là 7, đầu ra sẽ là:
10
4(1 + 2 + 3 + 4 = 10, vượt quá 7)
Tự làm thử
// TODO: Viết code của bạn ở đây
// Dùng vòng lặp while để cộng các số liên tiếp (1, 2, 3, ...)
// cho đến khi tổng đạt hoặc vượt giá trị mục tiêu
// In ra tổng cuối cùng và số được cộng sau cùng
echo $total . "\n";
echo $num;
?>
Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.
Tất cả bài học trong Kiến thức cơ bản
4Toán tử so sánh và logic
Toán tử so sánhBằng nhau và đồng nhấtToán tử logic phần 1Toán tử logic phần 2Ôn tập: logic đơn giản2Biến và kiểu dữ liệu
SốChuỗi và dấu ngoặc képGiá trị BooleanQuy ước đặt tênÔn tập: khởi tạo biếnBiến rỗngNối chuỗiNhận đầu vào từ người dùngChuyển đổi sang kiểu dữ liệu khác5Logic điều kiện
Câu lệnh ifIf và elseToán tử ba ngôiToán tử kết hợp nullCâu lệnh switchÔn tập: đưa ra quyết định3Các toán tử cơ bản
Toán tử số họcToán tử chia lấy dưToán tử lũy thừaPhép gán kết hợpTăng/giảmThứ tự ưu tiên của toán tửÔn tập: phép tính đơn giảnToán tử chuỗiTự luyện tập: Trình biên dịch PHP online