Câu lệnh break trong php | Laptrinhcanban.com

Câu lệnh break trong php

Hướng dẫn cách sử dụng câu lệnh break trong php.
Có phải bạn là dân lập trình, và hàng ngày vẫn đang phải quay cuồng trong một vòng xoay có tên là dead line ? Bạn này, đã đến lúc cần một cú break nho nhỏ để thoát khỏi vòng xoáy đó rồi đấy. Hãy cùng Kiyoshi tìm hiểu về Câu lệnh break trong php thông qua bài học này.

Chúng ta dùng câu lệnh break trong php để kết thúc một vòng lặp. Câu lệnh break có thể dùng để kết thúc vòng lặp được tạo ra với lệnh while cũng như với lệnh switch.
Cú pháp câu lệnh break trong php như sau:

Cú pháp

break;

Ví dụ

Chương trình tính tổng các số nhỏ hơn 100.

$count = 1;
$sum = 0;

while ($count <= 100){
$sum += $count;
$count += 1;
}

print 'sum = '.$sum;

Kết quả

sum = 5050

Ở ví dụ trên, đơn giản là chúng ta dùng lệnh while để tính tổng lần lượt các số nhỏ hơn 100, từ 1 đến 99. Bạn có tham khảo về câu lệnh while trong php ở bài giảng trước.

Tiếp theo, giả sử chúng ta muốn tỉnh tổng lần lượt các số nhỏ hơn 100 (từ 1 tới 99),nhưng sẽ dừng lại tại thời điểm tổng này vượt quá 1000 . Lần này, chúng ta sẽ thêm câu lệnh break để dừng vòng lặp while lại tại thời điểm tổng vượt quá 1000, bằng cách như sau :

$count = 1;
$sum = 0;

while ($count <= 100){
$sum += $count;

if ($sum > 1000){
print 'Tại lần tính = '.$count.'tổng đã quá 1000';
break;
}

$count += 1;
}

//Vị trí xử lý tiếp theo của chương trình sau khi câu lệnh `break` ở trên thực hiện
print 'sum = '.$sum;

Kết quả

Tại lần tính = 45tổng đã quá 1000sum = 1035

Bên trong lệnh while chúng ta chèn thêm lệnh if nhằm xét giá trị của tổng (biến $sum). Nếu tổng này lớn hơn 1000, lệnh break được thực hiện và vòng lặp bị dừng lại tại thời điểm này.

Giống như ví dụ trên, chúng ta có thể dùng câu lệnh break để dừng vòng lặp tại bất kỳ một thời điểm nào mà chúng ta muốn.

Chỉ định vị trí thoát của câu lệnh break trong vòng lặp kép

Khi dùng câu lệnh break trong một vòng lặp kép ( tiếng anh : nested loop), mặc định chương trình sẽ dừng lại và thoát khỏi vòng lặp trực tiếp chứa câu lệnh break đó.

$i = 1;

while ($i < 5){
$j = 1;
while ($j < 5){
if ($i * $j > 15){
break;
}

$j += 1;
}

//Chương trình dừng vòng lặp trong và bắt đầu thực hiện các câu lệnh dưới , sau đó quay về đầu vòng lặp ngoài
$i += 1;
}
print 'i='.$i;

Kết quả

i=5

Vòng lặp kép ở ví dụ trên có hai lớp, là vòng lặp trong và vòng lặp ngoài, với vòng lặp trong chứa lệnh break. Khi chương trình chạy câu lệnh break, chương trình sẽ dừng vòng lặp trong, thoát ra và thực hiện các câu lệnh bên ngoài vòng lặp trong. Trong trường hợp này, tuy vòng lặp trong đã dừng lại, nhưng các câu lệnh tiếp theo ở vòng lặp bên ngoài sẽ vẫn tiếp tục được thực hiện.

Trong một vòng lặp kép có nhiều lớp , chúng ta có thể chỉ định vị trí muốn thoát câu lệnh break bằng cách chỉ định thêm số thứ tự của lớp muốn dừng sau câu lệnh break như sau:

break số thứ tự của lớp; 

Ví dụ, chúng ta viết lại ví dụ sau để dừng cả vòng lặp bên ngoài :

$i = 1;

while ($i < 5){
$j = 1;
while ($j < 5){
if ($i * $j > 15){
break 2; // chỉ định số thứ tự của lớp muốn `break`
}

$j += 1;
}

$i += 1;
}
//Chương trình dừng cả vòng lặp ngoài và bắt đầu thực hiện các câu lệnh ngoài vòng lặp
print 'i='.$i;

Kết quả

i=4

Chúng ta có thể thấy rõ do vị trí break thay đổi đã dẫn tới kết quả chương trình thay đổi.
Do chúng ta chỉ định số thứ tự lớp (Lấy vòng lặp trong làm chuẩn là 1, thì vòng lặp ngoài có số thứ tự là 2 ), do đó khi câu lệnh break được thực hiện, chương trình sẽ dừng vòng lặp trong và quay về vị trí đầu của vòng lặp ngoài.
Sự khác biệt là chương trình sẽ dừng vòng lặp trong hay là cả vòng lặp ngoài.

Thực hành

Trăm hay không bằng tay quen, hãy cùng thực hành với ví dụ sau đây:

<?php
print 'Chương trình tỉnh tổng các số từ 1 đến 99 cho tới khi tổng lớn hơn 1000'."\n";

$count = 1;
$sum = 0;

while ($count <= 100){
$sum += $count;

if ($sum > 1000){
print 'Tại lần tính = '.$count.' tổng đã quá 1000'."\n";
break;
}

$count += 1;
}
print 'tổng ='.$sum;
?>

Tổng kết

Chúng ta dùng câu lệnh break trong php để kết thúc một vòng lặp. Trong một vòng lặp kép có nhiều lớp, chúng ta có thể quyết định số lớp muốn dừng lại bằng cách thêm số thứ tự của lớp đó vào câu lệnh break.

HOME>> >>

Profile
きよしです!笑

Tác giả : Kiyoshi (Chis Thanh)

Kiyoshi là một cựu du học sinh tại Nhật Bản. Sau khi tốt nghiệp đại học Toyama năm 2017, Kiyoshi hiện đang làm BrSE tại Tokyo, Nhật Bản.