Home » Bài 8: lệnh Break, Continue và các hàm (function) exit, die thường dùng trong PHP

Bài 8: lệnh Break, Continue và các hàm (function) exit, die thường dùng trong PHP

Break, Continue and exit and die functions are commonly used in PHP

by Tan Nguyen
12 minutes read

Ở 2 bài học trước mình đã nói qua về các loại vòng lặp trong PHPfor, while, do while, foreach. Tiếp tục series học PHP căn bản thì trong bài này mình sẽ giới thiệu về 1 số lệnh như break, continue thường hay được dùng trong các vòng lặp trên và 2 hàm mới là exit() die() có tác dụng gì nhé!

lenh ham thuong dung trong php

lệnh Break, Continue và các hàm (function)

Câu lệnh Break thường dùng trong PHP

Câu lệnh Break mục đích là dùng để thoát khỏi vòng lặp chứa nó môt cách đột ngột (hoặc kết thúc quá trình thực thi của vòng lặp đó) mặc dù vòng lặp vẫn chưa chạy hết số lần lặp. Break áp dụng cho tất cả các loại vòng lặp (for, while, do while, foreach). Ngoài ra, break còn dùng trong câu điều kiện if else hay cấu trúc switch case để thoát khỏi if else hay switch đó.

Nó trao bạn toàn quyền điều khiển bất cứ khi nào bạn muốn thoát khỏi vòng lặp. Sau khi ra khỏi vòng lặp, lệnh ngay sau vòng lặp đó sẽ được thực thi.

Break cho vòng lặp, switch lồng nhau.

Có thể sử dụng tham số integer cho break để xác định kết thúc đối với vòng lặp hay câu lệnh switch lồng nhau ở mức bao nhiêu.

  • break 1; tương tự như break; sẽ kết thúc vòng lặp hoặc câu lệnh switch hiện tại.
  • break 2; sẽ kết thúc vòng lặp hoặc câu lệnh switch hiện tại và cũng kết thúc vòng lặp hay câu lệnh bao bên ngoài nó.
  • Tương tự break n; sẽ kết thúc nhiều vòng lập hay câu lệnh switch lồng n lần.

Ví dụ về break 1;

<?php
for ($i = 1; $i <= 10; $i++) {
    echo $i;
    break; // hoặc có thể code là "break 1;"
}
?>

Kết quả xuất ra màn hình sẽ duy nhất là số 1. Bởi vì ngay lần lặp đầu tiên thì nó đã gặp câu lệnh break nên sau khi xuất được số 1 ở lần lặp đầu thì sẽ bị dừng lại và không thực hiện tiếp các lần lặp tiếp theo nữa.

Ví dụ về break 2;

Ví dụ 1

<?php
for ($i = 1; $i <= 10; $i++) {
    switch ($i) {
        case 5:
            echo "i có giá trị 5" . "<br>";
            break; // Chỉ thoát khỏi switch
        case 8:
            echo "i có giá trị 8" . "<br>";
            break 2; // Thoát khỏi switch và cả vòng lặp for.
        default:
            break;
    }
}
?>

Kết quả xuất ra màn hình là:

i có giá trị 5
i có giá trị 8

Giải thích: Khi vòng lặp chạy tới lần thứ 5, tức biến $i khi này đang bằng 5, như vậy case 5 sẽ hoạt động và xuất ra câu lệnh ở dòng thứ 5. Sau đó nó sẽ break ra khỏi switch. Vòng lặp khi này vẫn sẽ tiếp tục chạy và khi $i tăng lên bằng 8 sẽ echo dòng lệnh thứ 8 và chạy tiếp câu lệnh “break 2;” ở dòng 9. Như vậy nó sẽ vừa thoát khỏi switch đồng thời cả vòng lặp for luôn.

Lưu ý: Nếu giá trị đối số tùy chọn của break lớn hơn số mức lồng ngoài nó thì sẽ cảnh báo lỗi. Ở ví dụ trên, nếu thay break 2; thành break 3; thì sẽ phát sinh lỗi do break chỉ nằm trong 2 mức lồng.

Câu lệnh Continue 

Câu lệnh continue có mục đích là bỏ qua lần lặp hiện tại trong vòng lặp sau đó nó sẽ nhảy qua kiểm tra điều kiện và thực hiện lần lặp kế tiếp.

Ví dụ 1 về continue

<?php
for ($i = 0; $i <= 3; ++$i) {
    if ($i == 2) {
        continue;
    }
    echo "$i" . " - ";
}
?>

Khi $i = 2 (ở vòng lặp thứ 3) thì câu lệnh continue đã nhảy sang lần lặp thứ 4 cho nên câu lệnh echo sẽ không được thực hiện.

kết quả xuất ra màn hình sẽ là : 0 – 1 – 3 –

Theo đó, tất cả các câu lệnh phía sau continue trong khối lệnh của vòng lặp sẽ bị bỏ qua mà không thực hiện.

Ví dụ 2 về continue

$list = ['apple', 'banana', 'cherry']; 

foreach ($list as $value) { 
    if ($value === 'banana') { 
        continue; 
    } 
    echo "I love to eat {$value} pie." . PHP_EOL; 
}

Kết quả sẽ là:

I love to eat apple pie.
I love to eat cherry pie.


Continue cho vòng lặp lồng nhau.

Cũng giống như câu lệnh break, câu lệnh continue cũng có thể sử dụng tham số integer để xác định việc bỏ qua lần lặp hiện tại đối với vòng lặp lồng nhau ở mức tương ứng. Giá trị mặc định sẽ là 1 và nếu giá trị đối số tùy chọn của continue lớn hơn số mức lồng ngoài nó thì sẽ cảnh báo lỗi.

<?php
for ($i = 0; $i <= 2; $i++) {
    for ($j = 0; $j <= 1; $j++) {
        for ($k = 0; $k <= 2; $k++) {
            if ($i === 0 && $j === 0 && $k === 0) {
                echo 'This is the first iteration' . PHP_EOL;
                continue 3;
            }
            echo $i . $j . $k . PHP_EOL;
        }
    }
}
?>

Ở bài trên câu lệnh continue đã bỏ qua lần lặp hiện tại của vòng lặp for ở mức 3, sau đó nó sẽ thực hiện tiếp vòng lặp for tiếp theo sau khi đã kiểm tra điều kiện và tăng giá trị của biến $i. Vì vậy kết quả xuất ra màn hình sẽ là :

> This is the first iteration 100 101 102 110 111 112 200 201 202 210 211 212

Function die() và exit() dùng trong PHP

Ý nghĩa của 2 lệnh exitdie đều chung mục đích là thoát khỏi chương trình.

Khác với lại lệnh breakcontinue (2 lệnh này chỉ ảnh hưởng trong vòng lặp cụ thể chứa nó) thì 2 hàm dieexit sẽ ảnh hưởng đến toàn bộ chương trình. Nói rõ hơn, khi 1 trong 2 hàm này được gọi trong chương trình thì toàn bộ các câu lệnh nằm ở phía dưới nó đều sẽ không được thực hiện nữa.

Các cách thể hiện function exit

  • exit
  • exit()
  • exit(0)
  • exit(string): chuỗi string này sẽ được hiển thị trước khi thoát khỏi chương trình
//Cách 1
<?php
echo "Nguyen Van A";
exit;
echo "Nguyen Van B";
?>

//Cách 2
<?php
echo "Nguyen Van A";
exit();
echo "Nguyen Van B";
?>

//Cách 3
<?php
echo "Nguyen Van A";
exit(0);
echo "Nguyen Van B";
?>

//Kết quả xuất ra màn hình đều là: Nguyen Van A
//Ta thấy lệnh echo thứ 2 nó nằm dưới exit nên sẽ không được thực hiện

Ví dụ 2: đối với exit(string)

<?php
echo "Nguyen Van A";
exit("<br>Đã thoát chương trình.");
echo "Nguyen Van B";
?>

kết quả xuất ra sẽ là:

Nguyen Van A
Đã thoát chương trình

Các cách thể hiện function die

Cách thể hiện hàm die cũng tương tự như hàm exit.

  • die
  • die()
  • die(0)
  • die(string): chuỗi string này sẽ được hiển thị trước khi thoát khỏi chương trình
//Cách 1
<?php
echo "Nguyen Van A";
die;
echo "Nguyen Van B";
?>

//Cách 2
<?php
echo "Nguyen Van A";
die();
echo "Nguyen Van B";
?>

//Cách 3
<?php
echo "Nguyen Van A";
die(0);
echo "Nguyen Van B";
?>

//Kết quả xuất ra màn hình đều là: Nguyen Van A
//Ta thấy lệnh echo thứ 2 nó nằm dưới die nên sẽ không được thực hiện

Ví dụ 2: đối với die(string)

<?php
echo "Nguyen Van A";
die("<br>Đã thoát chương trình.");
echo "Nguyen Van B";
?>

kết quả xuất ra sẽ là:

Nguyen Van A
Đã thoát chương trình

Kết thúc

Qua bài trên mình đã nói sơ qua về một số lệnh và các hàm thường dùng như Break, Continue, Exit, Die trong PHP mà các bạn cần biết đến. Những câu lệnh này rất hay sử dụng trong những công việc tạo nhiều điều kiện kiểm tra phức tạp. Nếu có gì thắc mắc bạn hãy để lại comment bên dưới bài viết này nhé!

Ở bài tiếp theo mình sẽ giới thiệu cho các bạn khái niệm về hàm trong PHP.

Hãy tiếp tục trong series học PHP căn bản ở các bài viết tiếp theo các bạn nhé!

Nếu các bạn cảm thấy Website TanHongIT.Com thật sự hữu ích mình mong các bạn có thể chia sẻ những bài viết đến cho cộng đồng cùng thao khảo nhé. Cảm ơn các bạn !!!

Các bạn có bất kì thắc mắc cần được hỗ trợ hay yêu cầu các phần mềm, thủ thuật, khoá học,… thì cứ để lại comment bên dưới bài viết hoặc liên hệ qua fanpage của TanHongIT để được hỗ trợ nhé! Mình sẽ cố gắng chia sẻ cho các bạn mọi thứ cần thiết nhất!

Xem thêm:

CHÚC CÁC BẠN THÀNH CÔNG
5/5 - (4 votes)

Related Posts

5 1 vote
Article Rating
Subscribe
Notify of
guest
1 Comment
Most Voted
Newest Oldest
Inline Feedbacks
View all comments

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More

0
Would love your thoughts, please comment.x
()
x