Câu lệnh continue
Thuộc phần Kiến thức cơ bản trong hành trình PHP của Coddy. Bài học 52 trên 71.
Trong khi break thoát hoàn toàn khỏi vòng lặp, đôi khi bạn chỉ muốn bỏ qua lần lặp hiện tại và chuyển sang lần tiếp theo. Đó chính là việc câu lệnh continue thực hiện.
Khi PHP gặp continue, nó lập tức chuyển sang lần lặp tiếp theo của vòng lặp, bỏ qua mọi code còn lại trong lần lặp hiện tại.
<?php
for ($i = 1; $i <= 5; $i++) {
if ($i === 3) {
continue;
}
echo $i . "\n";
}
?>Kết quả in ra là:
1
2
4
5Hãy chú ý rằng số 3 bị thiếu. Khi $i bằng 3, câu lệnh continue bỏ qua echo và chuyển thẳng sang lần lặp tiếp theo, khi đó $i trở thành 4.
Một trường hợp sử dụng phổ biến là lọc bỏ các giá trị không mong muốn khi xử lý một mảng:
<?php
$numbers = [10, -5, 8, -3, 12];
foreach ($numbers as $num) {
if ($num < 0) {
continue;
}
echo $num . "\n";
}
?>Lệnh này chỉ in ra các số dương: 10, 8 và 12. Các giá trị âm bị bỏ qua, nhưng vòng lặp vẫn tiếp tục chạy qua tất cả phần tử.
Điểm khác biệt chính: break dừng hoàn toàn vòng lặp, còn continue chỉ bỏ qua để chuyển sang lần lặp tiếp theo.
Thử thách
DễĐọc hai dòng đầu vào:
- Một danh sách số nguyên được phân tách bằng dấu phẩy (ví dụ:
3,7,12,5,8,20,15) - Một số chia
Dùng vòng lặp foreach để duyệt qua mảng. Dùng continue để bỏ qua mọi số chia hết cho số chia đã cho. In ra tất cả các số còn lại, mỗi số trên một dòng riêng.
Ví dụ 1:
Nếu đầu vào là 1,2,3,4,5,6,7,8,9,10 và 3, đầu ra sẽ là:
1
2
4
5
7
8
10(Các số 3, 6 và 9 bị bỏ qua vì chúng chia hết cho 3)
Ví dụ 2:
Nếu đầu vào là 10,15,20,25,30 và 5, đầu ra sẽ là:
(Tất cả các số đều chia hết cho 5, nên không có gì được in ra)
Ví dụ 3:
Nếu đầu vào là 7,14,21,10,5 và 7, đầu ra sẽ là:
10
5Tự làm thử
// TODO: Viết code của bạn bên dưới
// Dùng vòng lặp (loop) foreach để duyệt qua $numbers
// Dùng continue để bỏ qua các số chia hết cho $divisor
// In ra các số còn lại, mỗi số trên một dòng riêng
?>
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 định8Vòng lặp
Vòng lặp forVòng lặp whileVòng lặp foreachLặp qua khóa và giá trịCâu lệnh breakCâu lệnh continueÔn tập: Lặp qua dữ liệu3Cá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