Câu lệnh break, continue, goto, die và exit trong PHP | Lập Trình Từ Đầu

Sau khi chúng ta học được các vòng lặp sẽ có câu hỏi là: muốn dừng chương trình vòng lặp và đi đến một ví trí nào đó trong chương trình mà không cần kết thúc vòng lặp thì phải làm sao. Hôm nay ta sẽ học câu lệnh để làm điều đó.

1. Câu lệnh break trong PHP

Câu lệnh break giúp ta thoát khỏi vòng lặp khi mà vòng lặp đó chưa kết thúc.

Ví dụ:

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

Trong ví dụ này thì như ta đã học thì nó sẽ lặp lại cho đến khi $i = 100. Nhưng ở đây chúng ta có câu lệnh điều kiện if và câu lệnh break. Lúc này chương trình của ta sẽ chỉ chạy đến khi $i = 20 và vòng lặp sẽ lập tức dừng lại.

Câu lệnh break cũng có thể nhảy ra được khỏi switch case, foreach, while, do while.

2. Câu lệnh continue trong PHP

Chắc hẳn các bạn đã quen với từ này trong tiếng anh continue – tiếp tục. Ở trong PHP thì câu lệnh này cũng có nghĩa là tiếp tục. Tiếp tục ở đây là tiếp tục vòng lặp tiếp theo, bỏ qua luôn những đoạn code đằng sau của vòng lặp đó.

Ví dụ:

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

Bài toán này là in ra các số từ 1 đến 10 nhưng khi chạy chương trình sẽ không có số 5. Vì trong vòng lặp đã có điều kiện là tại giá trị $i bằng 5 thì sẽ dừng lại và chuyển qua vòng lặp khác (vòng lặp $i bằng 6). Câu lệnh echo $i tạo giá trị 5 sẽ không được in ra.

3. Câu lệnh goto trong PHP

Trong PHP thì câu lệnh goto dùng để nhảy thẳng đến dòng code nào đó và sẽ bỏ qua tất cả những dòng code nó đã nhảy qua.

Ví dụ:

<?php
$x = 6;
$y = 9;
$z = $x + $y;
  
echo $x;
  
goto label_end;
  
echo $y;
  
label_end;
?>

Ở đây nếu như bình thường thì chương trình sẽ in ra màn hình cả x và y. Vì câu lệnh goto mà nó sẽ chỉ in ra màn hình x còn y thì không .

Một số lời khuyên rằng không nên dùng goto vì nó khó nhìn lộn xộn và dễ làm cho chương trình rối khó bảo trì, nâng cấp.

4. Câu lệnh exit và die trong PHP

Khác với 3 câu lệnh trên, die và exit không chỉ ảnh hưởng ở vòng lặp mà nó còn ảnh hưởng đến cả chương trình. Nếu có 2 câu lệnh này thì chương trình sẽ dừng ngay lập tức và bỏ qua tất cả đoạn code đằng sau mà không được thực hiện.

Ví dụ:

<?php 
echo 'lập trình từ đầu';
exit();//hoặc die()
echo 'fake';
for ($i = 1; $i <= 10; $i++){
echo $i . ' ';
}
 ?>

Trong ví dụ này ta sẽ chỉ in ra màn hình lập trình từ đầu và dừng lại. Nó sẽ không thực thi bất kỳ lệnh nào khác.