Câu lệnh break trong PHP
Giả sử chúng ta có một vòng lặp như thế này, hiển thị các phần tử của mảng lên màn hình:
<?php
$arr = [1, 2, 3, 4, 5];
foreach ($arr as $elem) {
echo $elem;
}
?>
Giả sử trước mắt chúng ta là nhiệm vụ xác định xem
trong mảng có số 3 hay không. Nếu có
- chúng ta sẽ in ra màn hình '+++' (còn
nếu không - chúng ta sẽ không làm gì cả).
Hãy giải quyết nhiệm vụ của chúng ta:
<?php
$arr = [1, 2, 3, 4, 5];
foreach ($arr as $elem) {
if ($elem == 3) {
echo '+++';
}
}
?>
Nhiệm vụ đã được giải quyết, tuy nhiên, có một vấn đề: sau
khi số 3 đã được tìm thấy, mảng
vẫn tiếp tục được duyệt một cách vô nghĩa
tiếp tục, làm lãng phí tài nguyên quý giá của bộ xử lý và
làm chậm hoạt động của script của chúng ta.
Tối ưu hơn là ngay sau khi tìm thấy
số, chúng ta kết thúc hoạt động của vòng lặp. Điều này
có thể được thực hiện bằng một câu lệnh đặc biệt
break, cho phép kết thúc sớm
hoạt động của vòng lặp.
Vậy, hãy kết thúc vòng lặp ngay khi chúng ta
gặp số 3:
<?php
$arr = [1, 2, 3, 4, 5];
foreach ($arr as $elem) {
if ($elem == 3) {
echo '+++';
break; // thoát khỏi vòng lặp
}
}
?>
Câu lệnh break có thể kết thúc bất kỳ vòng lặp nào:
foreach, for, while.
Cho một mảng chứa các số. Hãy chạy một vòng lặp
sẽ lần lượt hiển thị các phần tử của
mảng này trong console cho đến khi gặp
phần tử có giá trị 0. Sau đó
vòng lặp phải kết thúc hoạt động của nó.
Cho một mảng chứa các số. Hãy tìm tổng các phần tử, được đặt từ đầu mảng cho đến số âm đầu tiên.
Cho một mảng chứa các số. Hãy tìm vị trí của số
3 đầu tiên trong mảng này (giả sử rằng
số này chắc chắn có trong mảng).
Xác định xem cần cộng bao nhiêu số nguyên, bắt đầu
từ số 1, để tổng
nhận được lớn hơn 100.