Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> PHP

Câu lệnh break trong PHP

Giới thiệu

Câu lệnh break là một trong các từ khóa điều khiển vòng lặp trong PHP. Khi luồng chương trình gặp break bên trong while, do-while, for, foreach loop hoặc cấu trúc switch, các câu lệnh còn lại trong loop/switch bị bỏ qua và câu lệnh sau cùng sẽ được thực thi.

Cú pháp

while (expr) {
    ..
    ..
    if (expr1)
        break;
    ..
    ..
}

Trong ví dụ sau, vòng lặp while tiếp tục đọc input người dùng cho đến khi chuỗi "END" được nhập.

<?php
while (TRUE) {
    $var = readline("enter something (END to stop loop): ");
    if ($var == "END")
        break;
    echo "You entered $var\n";
}
?>

Kết quả

enter something (END to stop loop): Hello
You entered Hello
enter something (END to stop loop): PHP
You entered PHP
enter something (END to stop loop): END

Từ khóa break có thể có đối số số tùy chọn để chỉ định số cấp vòng lặp lồng nhau cần bỏ qua. Mặc định là 1.

Trong trường hợp lồng vòng lặp, break chỉ thoát khỏi vòng lặp hiện tại. Ví dụ sau dùng break trong vòng lặp trong:

<?php
for ($i = 1; $i <= 5; $i++) {
    echo "Start Of outer loop\n";
    for ($j = 1; $j <= 5; $j++) {
        if ($j >= 3) break;
        echo "I: $i J: $j\n";
    }
    echo "End of inner loop\n";
}
?>

Kết quả

Start Of outer loop
I: 1 J: 1
I: 1 J: 2
End of inner loop
Start Of outer loop
I: 2 J: 1
I: 2 J: 2
End of inner loop
Start Of outer loop
I: 3 J: 1
I: 3 J: 2
End of inner loop
Start Of outer loop
I: 4 J: 1
I: 4 J: 2
End of inner loop
Start Of outer loop
I: 5 J: 1
I: 5 J: 2
End of inner loop

break chấp nhận đối số số tùy chọn cho biết bao nhiêu cấu trúc lồng nhau cần thoát ra. Ví dụ sau break 2 trong inner loop thoát cả outer loop:

<?php
for ($i = 1; $i <= 5; $i++) {
    echo "Start Of outer loop\n";
    for ($j = 1; $j <= 5; $j++) {
        if ($j > 3) break 2;
        echo "I: $i J: $j\n";
    }
    echo "End of inner loop\n";
}
?>

Kết quả

I: 1 J: 1
I: 1 J: 2
I: 1 J: 3

Trong cấu trúc switch, break ngăn chương trình fall-through (rơi xuống case tiếp theo) khi giá trị mong muốn của biến switch được đạt.

<?php
$x = 25;
$var = (int)readline("enter a number 1 for square 2 for square root: ");
switch($var) {
    case 1: echo sqrt($x) . "\n"; break;
    case 2: echo pow($x, $var) . "\n";
}
?>

Kết quả

enter a number 1 for square 2 for square root: 2
625
enter a number 1 for square 2 for square root: 1
5