PHP - Break Statement

Câu lệnh break cùng với câu lệnh continue trong PHP được gọi là "câu lệnh điều khiển vòng lặp". Bất kỳ loại vòng lặp nào ( for , while hoặc do-while ) trong PHP được thiết kế để chạy trong một số lần lặp nhất định, theo điều kiện kiểm tra được sử dụng. Câu lệnh break bên trong khối vòng lặp sẽ đưa luồng chương trình ra ngoài khối, từ bỏ phần còn lại của các lần lặp có thể còn lại.

Câu lệnh break thường được sử dụng có điều kiện. Nếu không, vòng lặp sẽ kết thúc mà không hoàn thành lần lặp đầu tiên.

Cấu trúc của câu lệnh break là như sau −

while(expr){
   if (condition){
      break;
   }
}

Đoạn sau flowchart giải thích cách mà câu lệnh break hoạt động −

PHP Break Statement

Example

Đoạn mã PHP sau đây là một ví dụ đơn giản về việc sử dụng break trong một vòng lặp. Vòng lặp while dự kiến sẽ thực hiện mười lần lặp. Tuy nhiên, một câu lệnh break bên trong vòng lặp sẽ kết thúc nó khi biến đếm vượt quá 3.

<?php
   $i = 1;

   while ($i<=10){
      echo "Iteration No. $i \n";
      if ($i>=3){
         break;
      }
      $i++;
   }
?>

Nó sẽ tạo ra output

Iteration No. 1
Iteration No. 2
Iteration No. 3

Một tham số số tùy chọn có thể được cung cấp trước từ khóa break. Nó đặc biệt hữu ích trong các cấu trúc vòng lặp lồng ghép. Nó cho biết số lượng cấu trúc bao ngoài lồng nhau sẽ bị thoát ra. Giá trị mặc định là 1, chỉ cấu trúc bao ngoài ngay lập tức bị thoát ra.

Example

Ví dụ dưới đây có ba vòng lặp lồng nhau: một vòng lặp for bên trong có một vòng lặp while mà lại chứa một vòng lặp do-while .

Vòng lặp bên trong cùng thực hiện break . Số "2" đứng trước nó đưa điều khiển ra khỏi phạm vi hiện tại vào vòng lặp for thay vì vòng lặp ngay lập tức while .

<?php
   for ($x=1; $x<=3; $x++){
      $y=1;
      while ($y<=3){
         $z=1;
         do {
            echo "x:$x y:$y z:$z \n";
            if ($z==2){
               break 2;
            }
            $z++;
         }
         while ($z<=3);
         $z=1;
         $y++;
      }
   }
?>

Nó sẽ tạo ra output

x:1 y:1 z:1
x:1 y:1 z:2
x:2 y:1 z:1
x:2 y:1 z:2
x:3 y:1 z:1
x:3 y:1 z:2

Lưu ý rằng mỗi khi giá trị của "z" trở thành 2, chương trình sẽ thoát khỏi vòng lặp "y". Do đó, giá trị của "y" luôn là 1.