Câu lệnh break
Thuộc phần Kiến thức cơ bản trong hành trình PHP của Coddy. Bài học 51 trên 71.
Đôi khi, bạn cần thoát khỏi vòng lặp sớm, trước khi vòng lặp kết thúc tự nhiên. Câu lệnh break giúp bạn làm điều đó. Câu lệnh này dừng vòng lặp ngay lập tức và tiếp tục chạy phần code phía sau.
Hãy tưởng tượng bạn đang tìm một giá trị cụ thể trong mảng (array). Khi tìm thấy giá trị đó, bạn không cần kiểm tra các phần tử còn lại. Dùng break giúp tránh các lần lặp không cần thiết.
<?php
$numbers = [3, 7, 2, 9, 5, 1];
foreach ($numbers as $num) {
if ($num === 9) {
echo "Found 9!\n";
break;
}
echo "Checking $num\n";
}
echo "Search complete";
?>Kết quả in ra:
Checking 3
Checking 7
Checking 2
Found 9!
Search completeLưu ý rằng 5 và 1 không bao giờ được kiểm tra. Khi vòng lặp gặp 9, break thoát hẳn khỏi vòng lặp và chương trình chuyển đến "Search complete".
Câu lệnh break hoạt động với mọi loại vòng lặp: for, while và foreach. Câu lệnh này đặc biệt hữu ích khi bạn tìm kiếm thứ gì đó hoặc khi một điều kiện nào đó yêu cầu vòng lặp dừng ngay lập tức.
Thử thách
DễĐọc hai dòng đầu vào:
- Một danh sách số được phân tách bằng dấu phẩy (ví dụ:
4,8,15,16,23,42) - Một số cần tìm
Dùng vòng lặp foreach để tìm số cần tìm trong mảng. Khi tìm thấy số đó, in ra Found [target] at index [index]! rồi dùng break để thoát vòng lặp ngay lập tức.
Nếu vòng lặp kết thúc mà không tìm thấy số cần tìm, hãy in ra [target] not found.
Gợi ý: Dùng cú pháp khóa-giá trị trong vòng lặp foreach để theo dõi chỉ số.
Ví dụ 1:
Nếu đầu vào là 10,25,30,45,50 và 30, đầu ra sẽ là:
Found 30 at index 2!Ví dụ 2:
Nếu đầu vào là 5,10,15,20,25 và 20, đầu ra sẽ là:
Found 20 at index 3!Ví dụ 3:
Nếu đầu vào là 1,2,3,4,5 và 99, đầu ra sẽ là:
99 not foundTự làm thử
<?php
// Đọc đầu vào
$numbers = explode(',', trim(fgets(STDIN)));
$target = trim(fgets(STDIN));
// TODO: Viết code bên dưới
// Dùng vòng lặp (loop) foreach với cú pháp khóa và giá trị để tìm mục tiêu
// Khi tìm thấy, in ra "Found [target] at index [index]!" rồi dùng break
// Nếu không tìm thấy sau vòng lặp, in ra "[target] not found"
?>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