Hướng dẫn dùng control break trong PHP

Bài trước chúng ta đã tìm hiểu vòng lặp cuối cùng đó là vòng lặp foreach trong php, vậy thì trong bài này chúng ta sẽ tìm hiểu một số câu lệnh dừng chương trình vòng lặp và lệnh nhảy tới một vị trí nào đó trong file PHP.

Hướng dẫn dùng control break trong PHP

Hướng dẫn dùng control break trong PHP

Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

Nội dung chúng ta gồm ó các phần như sau:

  • Câu lệnh Break
  • Câu lệnh Continue
  • Câu lệnh Goto
  • Câu lệnh Die & Exit

1. Câu lệnh break

Lệnh break thường được dùng để thoát khỏi vòng lặp cho dù vòng lặp vẫn chưa kết thúc.

Ví dụ:

Bài viết này được đăng tại [free tuts .net]

for ($i = 1; $i <= 100; $i++)
{
    echo $i . ' ';
    if ($i == 20)
    {
        break;
    }
}

Trong ví dụ này thì vòng lặp được lặp từ 1 cho tới 100, nhưng nó không chạy hết 100 lần bởi vì khi nó chạy tới lần thứ 20 (tức là biến $i = 20) thì câu lệnh kiểm tra if đúng nên lệnh break bên trong câu if được thực hiện và sẽ dừng vòng lặp.

Không chỉ ở vòng lặp for mà các vòng lặp như while và do while, vòng lặp foreach ta đều có thể dùng lệnh break để kết thúc.

2. Câu lệnh continue

Dịch ra tiếng anh cũng đủ hiểu phần nào câu lệnh này, lệnh continue sẽ bỏ qua những đoạn code bên dưới nó và nhảy qua vòng lặp kế tiếp (không thoát hẳn vòng lặp như lệnh break).

Ví dụ:

for ($i = 1; $i <= 10; $i++)
{
    if ($i == 5)
    {
        continue;
    }
    echo $i . ' ';
}

Bài này vòng lặp for lặp từ 1 tới 10 và in ra các số đó. nhưng lạ thay là kết quả thiếu mất số 5 tại vì khi $i = 5 (vòng lặp thứ 5) thì câu lệnh continue đã nhảy chương trình qua vòng lặp mới nên lệnh echo $i không thực hiện được.

Tương tự ta có thể sử dụng lệnh này cho tất cả các vòng lặp for, while, do while và foreach.

3. Câu lệnh goto

Lệnh goto dùng để nhảy đến một dòng code nào đó.

Ví dụ:

$a = 12;
$b = 13;
$c = $a + $b;
 
echo $a;
 
goto label_end;
 
echo $b;
 
label_end;

Trong ví dụ này nếu bình thường thì nó sẽ xuất ra màn hình cả $a và $b nhưng bài này nó chỉ xuất ra màn hình mỗi $a vì dòng goto label_end sẽ nhảy chương trình đến cái nhãn label_end nên dòng echo $b; không được thực hiện. label_end được gọi là nhãn (có thể đặt tên bất kỳ).

Người ta khuyên rằng không nên sử dụng lệnh goto bởi vì nó khó nhìn, lộn xộn khó bảo trì nâng cấp.

4. Lênh die và exit

Với 2 lệnh break và continue chỉ ảnh hương trong vòng lặp thì lệnh die và exit lại ảnh hưởng tới cả chương trình, nếu bạn dùng 2 lệnh này thì chương trình sẽ dừng ngay lập tức và những đoạn code bên dưới die và exit sẽ không được thực hiện.

Ví dụ:

echo '123';
 
die(); // hoặc exit();
echo '456';

Trong ví dụ này kết quả xuất ra màn hình là 123, vởi vì dòng code echo ’456′ không được thực hiện.

5. Lời kết

Thực tế thì ta hay sử dụng lệnh break, continue, die và exit thôi chứ lệnh goto rất ít khi dùng vì nó làm cho chương trình trở lên rối, khó nâng cấp và bảo trì. Bài tiếp theo ta sẽ tìm hiểu hàm trong php.



Nội dung chính

  • Sử dụng Break trong php
    • Sử dụng Break với vòng lặp for
    • Sử dụng Break với mệnh đề switch-case

Sử dụng Break trong php

Từ khóa break trong php được sử dụng để thoát vòng lặp hoặc trong mệnh đề switch tại điều kiện đã được chỉ định. Đối với vòng lặp bên trong vòng lặp khác, thì nó chỉ thoát vòng lặp bên trong đó.


Sử dụng Break với vòng lặp for

Ví dụ sử dụng break với vòng lặp for:

";
}
?>

Kết quả:


Ví dụ sử dụng break với vòng lặp bên trong vòng lặp for khác:

");
    }
}
?>

Kết quả:

1 1
1 2
1 3
2 1
3 1
3 2
3 3


Sử dụng Break với mệnh đề switch-case

Để hiểu cách sử dụng break với mệnh đề switch-case, bạn có thể tham khảo bài học này Mệnh đề switch-case trong php



Hướng dẫn cách sử dụng lệnh break trong PHP. Bạn sẽ học được cách dùng lệnh break để thoát khỏi vòng lặp trong PHP sau bài học này.

Lệnh break trong PHP

Lệnh break trong PHP được sử dụng để thoát khỏi vòng lặp trong PHP khi điều kiện chỉ định được thỏa mãn. Các vòng lặp trong PHP như vòng lặp while hoặc vòng lặp for sẽ buộc phải kết thúc khi câu lệnh break được thực thi.

Cú pháp của lệnh break trong PHP như sau:

break;

Câu lệnh break trong PHP được sử dụng kết hợp với câu lệnh if trong PHP và được miêu tả trong khối lệnh while hoặc khối lệnh for giống như sau đây:

while (biểu thức điều kiện while) {
    Câu lệnh 1 ;
    Câu lệnh 2 ;
    if (biểu thức điều kiện if){
        break;
        }
}

Để hiểu rõ hơn, chúng ta sẽ sử dụng lại ví dụ trong bài While trong PHP và cách xử lý chi tiết. Chúng ta có một vòng lặp while để in ra màn hình 3 lần dòng hello như sau:

$i = 1;
while($i < 4){
echo "hello ".$i."\n";
$i += 1;
}
echo 'bye';





Chúng ta sẽ dùng lệnh break để dừng vòng lặp while tại vòng lặp thứ 2 khi $i=2 như sau:

$i = 1;
while($i < 4){
if ($i == 2){
echo "BREAK!\n";
$i += 1;
break;
}
echo "hello ".$i."\n";
$i += 1;
}
echo 'bye';

Khi đó vòng lặp while break trong PHP sẽ chạy như sau:
Lượt lặp đầu tiên:

  1. Khai báo biến $i và gán giá trị ban đầu $i = 1
  2. Biểu thức điều kiện $i < 3 là TRUE nên thực thi vòng lặp
  3. Biểu thức điều kiện IF $i == 2 là là False nên khối lệnh if (chứa lệnh break) được bỏ qua
  4. Chạy lệnh echo "hello ".$i."\n" trong khối lệnh
  5. Biểu thức thay đổi tăng giá trị $i lên 1 đơn vị thành $i=2

Lượt lặp thứ 2:

  1. Biểu thức điều kiện For ($i < 3) là TRUE nên thực thi vòng lặp
  2. Biểu thức điều kiện IF $i == 2 là True nên các lệnh trong khối if (bao gồm cả lệnh break) được thực thi. Do lệnh break được chạy nên vòng lặp bị dừng lại và chúng ta thoát khỏi vòng lặp.

Ngoài vòng lặp:

  1. Chạy lệnh tiếp theo echo 'bye' sau khi thoát vòng lặp.

Kết quả, vòng lặp while ở trên sẽ in ra màn hình console như sau:

hello 1
BREAK!
bye

Chúng ta có thể khái quát xử lý bằng sơ đồ khối của lệnh break trong PHP khi sử dụng trong vòng lặp while như sau:

Hướng dẫn dùng control break trong PHP

Sử dụng lệnh break để thoát khỏi vòng lặp while trong PHP

Chúng ta sử dụng lệnh break để thoát khỏi vòng lặp while trong PHP theo điều kiện mà bạn muốn. Lệnh while sẽ dừng lại khi lệnh break được thực hiện, tất cả các xử lý sau lệnh break cũng như các lượt lặp còn lại trong lệnh while đều bị dừng giữa chừng.

Hãy xem ví dụ về vòng lặp while để in ra các số từ 1 đến 10. Nếu không sử dụng lệnh break thì chương trình sẽ chạy như sau:

$num = 1;

while ($num <= 10){
echo $num."\n";
$num++;
}










Tuy nhiên khi chúng ta sử dụng thêm lệnh break và muốn dừng vòng lặp khi biến num đạt giá trị bằng 2, chương trình sẽ chạy như sau:

$num = 1;

while ($num <= 10){
echo $num."\n";
if($num == 2){
echo "BREAK!";
break;
}
$num++ ;
}



Bạn có thể thấy chúng ta đã thoát khỏi vòng lặp trong PHP bằng lệnh break tại vị trí num ==2 rồi phải không nào?

Về cách sử dụng vòng lặp while, hãy xem chi tiết tại bài viết Vòng lặp while trong PHP

Lại nữa, câu lệnh break cũng thường được sử dụng kết hợp với vòng lặp while true để thoát khỏi một vòng lặp vô hạn trong PHP. Ví dụ:

while (true){
echo $num."\n";
if($num == 10){
break;
}
$num++;
}










Sử dụng lệnh break để thoát khỏi vòng lặp for trong PHP

Chúng ta sử dụng lệnh break để thoát khỏi vòng lặp for trong PHP theo điều kiện mà bạn muốn. Lệnh for sẽ dừng lại khi lệnh break được thực hiện, tất cả các xử lý sau lệnh break cũng như các lượt lặp còn lại trong lệnh for đều bị dừng giữa chừng.

Ví dụ, chúng ta dừng lệnh tính tổng một dãy số nguyên dương nhỏ hơn 100 khi tổng đó lớn hơn 10 như sau:

$sum = 0;
for ($i = 1; $i <=100; $i++){
$sum += $i ;
if ($sum >= 10){
break;
}
echo $sum."\n";
}



Về cách sử dụng vòng lặp for, hãy xem chi tiết tại bài viết Vòng lặp for trong PHP

Tổng kết

Trên đây Kiyoshi đã hướng dẫn bạn về cách sử dụng lệnh break trong PHP rồi. Để nắm rõ nội dung bài học hơn, bạn hãy thực hành viết lại các ví dụ của ngày hôm nay nhé.

Và hãy cùng tìm hiểu những kiến thức sâu hơn về PHP trong các bài học tiếp theo.

Viết bởi Kiyoshi. Đã đăng ký bản quyền tác giả tại <a title="Bạn được tự do chia sẻ bài viết nhưng phải để lại đường link bài viết từ laptrinhcanban.com. Bạn không được sử dụng tài liệu cho mục đích thương mại. Không được phép chỉnh sửa nội dung được phát hành trên website của chúng tôi" style="color:#fff;background-color:silver" rel="license noopener" target="_blank" href="https://creativecommons.org/licenses/by-nc-nd/4.0/">Creativecommons</a>&nbsp;và <a title="Bạn được tự do chia sẻ bài viết nhưng phải để lại đường link bài viết từ laptrinhcanban.com. Bạn không được sử dụng tài liệu cho mục đích thương mại. Không được phép chỉnh sửa nội dung được phát hành trên website của chúng tôi" style="color:#fff;background-color:silver" target="_blank" rel="noopener" href="https://www.dmca.com/Protection/Status.aspx?ID=1631afcd-7c4a-467d-8016-402c5073e5cd" class="dmca-badge">DMCA</a><script src="https://images.dmca.com/Badges/DMCABadgeHelper.min.js">

Bài viết liên quan

Hãy chia sẻ và cùng lan tỏa kiến thức lập trình Nhật Bản tại Việt Nam!

HOME>> >>

Profile
Hướng dẫn dùng control break trong PHP

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.