Hướng dẫn break in php

(PHP 4, PHP 5, PHP 7, PHP 8)

break ends execution of the current for, foreach, while, do-while or switch structure.

break accepts an optional numeric argument which tells it how many nested enclosing structures are to be broken out of. The default value is 1, only the immediate enclosing structure is broken out of.

<?php
$arr 
= array('one''two''three''four''stop''five');
foreach (
$arr as $val) {
    if (
$val == 'stop') {
        break;    
/* You could also write 'break 1;' here. */
    
}
    echo 
"$val<br />\n";
}
/* Using the optional argument. */$i 0;
while (++
$i) {
    switch (
$i) {
        case 
5:
            echo 
"At 5<br />\n";
            break 
1;  /* Exit only the switch. */
        
case 10:
            echo 
"At 10; quitting<br />\n";
            break 
2;  /* Exit the switch and the while. */
        
default:
            break;
    }
}
?>

ei dot dwaps at gmail dot com

1 year ago

You can also use break with parentheses: break(1);

Note:
Using more nesting level leads to fatal error:

<?php
while (true) {
    foreach ([
1, 2, 3] as $value) {
      echo
'ok<br>';
      break
3; // Fatal error: Cannot 'break' 3 levels
   
}
    echo
'jamais exécuter';
    break;
  }
?>



Các khóa học miễn phí qua video:
Lập trình C Java C# SQL Server PHP HTML5-CSS3-JavaScript

break

Phiên bản hỗ trợ: (PHP 4, PHP 5, PHP 7)

break dùng để thoát khỏi (hoặc kết thúc sự thực thi của) vòng lặp chứa nó; break áp dụng cho tất cả các loại vòng lặp (for, foreach, while, do-while). Ngoài ra, break còn dùng trong điều kiện hay cấu trúc switch-case để thoát khỏi switch.

break trong PHP còn chấp nhận một đối số tùy chọn là một số nguyên dương (>=1) để báo cho trình dịch biết là sẽ kết thúc những mức lồng vòng lặp hoặc cấu trúc ở mức bao nhiêu. Mức mặc định là 1, tức là dừng vòng lặp hoặc switch trực tiếp chứa nó. Lưu ý là từ bản PHP 5.4.0 thì break sẽ không hỗ trợ đối số tùy chọn là một biến, ví dụ như $n=1; break $n; là sai.

<?php
$arr 
= array('one''two''three''four''stop''five');
while (list(, 
$val) = each($arr)) {
    if (
$val == 'stop') {
        break;    
/* Bạn cũng có thể viết là 'break 1;' */
    
}
    echo 
"$val<br />\n";
}

/* Sử dụng đối số tùy chọn. */

$i 0;
while (++
$i) {
    switch (
$i) {
    case 
5:
        echo 
"At 5<br />\n";
        break 
1;  /* Chỉ thoát khỏi switch (1 mức lồng). */
    
case 10:
        echo 
"At 10; quitting<br />\n";
        break 
2;  /* Thoát khỏi switch và while (2 mức lồng). */
    
default:
        break;
    }
}

?>

Lưu ý:

+ Nếu giá trị của đố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.

+ break sẽ không làm việc trong tập tin được include, lúc đó kết quả trả về sẽ là lỗi như ví dụ dưới đây:

main.php:
<?php
switch ( $i )
{
  case 
'1'// Làm việc
    
echo "$i";
    break;
  case 
'2'// Làm việc
    
require( 'include1.php' );
    break;
  case 
'3'// Không làm việc
    
require( 'include2.php' );
    break;
  case 
'4'// Cũng không làm việc
    
require( 'include2.php' );
  default: 
// Làm việc
    
echo "$i";
}

?>

include1.php:
<?php
  
echo "$i";
?>

include2.php:
<?php
  
echo "$i";
  break;

?>

continue

Phiên bản áp dụng: PHP 4, PHP 5, PHP 7.

continue được sử dụng bên trong vòng lặp để bỏ qua lần lặp hiện thời, kiểm tra điều kiện cho lần lặp tiếp theo. 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 (không thực hiện).

continue cũng chấp nhận một đối số là một số nguyên dương thể hiện việc bỏ qua lần lặp hiện tại của các mức lồng ngoài tương ứng. Giá trị mặc định là 1 và không được lớn hơn số mức lồng ngoài nó.

Ví dụ:

<?php
while (list($key$value) = each($arr)) {
    if (!(
$key 2)) { // bỏ qua số lẻ
        
continue;
    }
    
do_something_odd($value);
}

$i 0;
while (
$i++ < 5) {
    echo 
"Outer<br />\n";
    while (
1) {
        echo 
"Middle<br />\n";
        while (
1) {
            echo 
"Inner<br />\n";
            continue 
3;
        }
        echo 
"This never gets output.<br />\n";
    }
    echo 
"Neither does this.<br />\n";
}

?>

Ở đoạn lệnh trên, continue 3; sẽ bỏ qua lần lặp hiện thời của vòng lặp while ở mức 3. Kết quả đoạn mã trên sẽ in ra:

Outer
Middle
Inner
Outer
Middle
Inner
Outer
Middle
Inner
Outer
Middle
Inner
Outer
Middle
Inner

Hướng dẫn break in php

Các khóa học miễn phí qua video:
Lập trình C Java C# SQL Server PHP HTML5-CSS3-JavaScript
« Prev: PHP: foreach
» Next: PHP: Mảng (Array) một chiều

Tải thêm tài liệu liên quan đến bài viết Hướng dẫn break in php