ZetCode

PHP break Statement

last modified April 16, 2025

The PHP break keyword is used to terminate the execution of loops or switch statements prematurely. It provides control over program flow within iterative structures. Understanding break is essential for writing efficient PHP code.

Basic Definitions

The break statement immediately exits the current loop or switch structure. When encountered, it stops further iterations and transfers control to the statement following the terminated structure.

In loops, break is often used with conditional statements to exit when certain conditions are met. In switch statements, break prevents fall-through to subsequent cases. Without break, switch would execute all following cases.

Syntax: break; or break levels; where levels is an optional numeric argument specifying how many nested structures to break out of. The default is 1.

Basic break in for Loop

This example demonstrates using break to exit a for loop prematurely.

basic_break.php
<?php

declare(strict_types=1);

for ($i = 1; $i <= 10; $i++) {
    if ($i == 5) {
        break;
    }
    echo "$i ";
}

The loop runs from 1 to 10, but breaks when $i equals 5. Only numbers 1 through 4 are printed. The break statement stops the loop completely, not just the current iteration. This is useful for early termination.

break in while Loop

This example shows break used in a while loop to exit when a condition is met.

while_break.php
<?php

declare(strict_types=1);

$count = 0;

while (true) {
    $count++;
    echo "Count: $count\n";
    
    if ($count >= 3) {
        break;
    }
}

The while loop would normally run indefinitely (true condition). The break statement exits when count reaches 3. This pattern is common for loops that need to run until a specific condition occurs. The break provides the exit.

break in foreach Loop

This example demonstrates using break to stop iterating through an array.

foreach_break.php
<?php

declare(strict_types=1);

$fruits = ['apple', 'banana', 'cherry', 'date', 'elderberry'];

foreach ($fruits as $fruit) {
    if ($fruit == 'cherry') {
        break;
    }
    echo "$fruit ";
}

The foreach loop processes each array element until it finds 'cherry'. The break statement stops the loop at that point. Only 'apple' and 'banana' are printed. This is useful for searching arrays.

break in switch Statement

This example shows the essential use of break in switch statements.

switch_break.php
<?php

declare(strict_types=1);

$day = 'Wednesday';

switch ($day) {
    case 'Monday':
        echo "Start of work week";
        break;
    case 'Wednesday':
        echo "Midweek";
        break;
    case 'Friday':
        echo "Weekend is coming";
        break;
    default:
        echo "Some other day";
}

Each case in the switch statement ends with break to prevent fall-through. Without break, execution would continue to the next case. The break ensures only the matching case's code runs. This is standard switch behavior.

break with Nested Loops

This example demonstrates using break to exit multiple nested loops.

nested_break.php
<?php

declare(strict_types=1);

for ($i = 1; $i <= 3; $i++) {
    for ($j = 1; $j <= 3; $j++) {
        echo "$i-$j ";
        
        if ($i == 2 && $j == 2) {
            break 2;
        }
    }
    echo "\n";
}

The break 2 statement exits both the inner and outer loops when the condition is met. Without the numeric argument, only the inner loop would break. This shows how to control nested loop termination. Output stops at "2-2".

break in do-while Loop

This example illustrates break usage in a do-while loop structure.

dowhile_break.php
<?php

declare(strict_types=1);

$num = 0;

do {
    $num++;
    echo "Number: $num\n";
    
    if ($num == 4) {
        break;
    }
} while ($num < 10);

The do-while loop would normally run until $num reaches 10. The break statement causes early exit when num equals 4. This shows break works the same in do-while as in other loops. The condition is checked after each iteration.

break with Optional Levels

This advanced example shows break with different numeric level values.

break_levels.php
<?php

declare(strict_types=1);

for ($i = 1; $i <= 3; $i++) {
    echo "Outer: $i\n";
    
    for ($j = 1; $j <= 3; $j++) {
        echo " Inner: $j\n";
        
        if ($j == 2) {
            break 1; // Same as just break
        }
        
        if ($i == 3 && $j == 1) {
            break 2; // Exit both loops
        }
    }
}

The first break exits only the inner loop (level 1). The second break exits both loops (level 2) when specific conditions are met. This demonstrates precise control over nested loop termination. The numeric argument specifies how many levels to break out of.

Best Practices

Source

PHP break Documentation

This tutorial covered the PHP break statement with practical examples showing its usage in loops and switch statements with various scenarios.

Author

My name is Jan Bodnar, and I am a passionate programmer with extensive programming experience. I have been writing programming articles since 2007. To date, I have authored over 1,400 articles and 8 e-books. I possess more than ten years of experience in teaching programming.

List all PHP basics tutorials.