While loops are designed to run until their termination condition is met, real-world programming frequently requires terminating a loop early when a specific condition occurs (such as finding a matching record in a database, detecting an error, or reaching an item limit). The break statement immediately halts loop execution and transfers control to the first statement following the loop.
In this example, the loop is configured to iterate up to 10, but the break statement aborts the loop when $i reaches 5:
<?php
for ($i = 1; $i <= 10; $i++) {
if ($i === 5) {
echo "Target found at index 5! Breaking out of loop.<br>";
break; // Loop terminates immediately here
}
echo "Processing item: " . $i . "<br>";
}
echo "Loop execution ended.";
?>
break n)One of PHP's most powerful features is multi-level breaking. By default, break is equivalent to break 1 (exiting only the innermost loop). Passing a numeric argument like break 2 or break 3 immediately terminates multiple parent loops simultaneously:
<?php
$matrix = [
[10, 20, 30],
[40, 999, 60], // Target 999 is located here
[70, 80, 90]
];
$target = 999;
$found = false;
for ($row = 0; $row < 3; $row++) {
for ($col = 0; $col < 3; $col++) {
if ($matrix[$row][$col] === $target) {
echo "Found $target at Matrix Row $row, Col $col!<br>";
$found = true;
break 2; // Exits BOTH the inner and outer loops immediately!
}
}
}
?>
High-Frequency Exam Question:
Q: What is the difference between break and exit / die()?
A: break only terminates the enclosing loop or switch structure; the rest of the PHP script continues executing. In contrast, exit or die() terminates the entire PHP script immediately, aborting all further execution.
Exercise 19.1: Search an array of student roll numbers for "BCA-105". When found, print its index position and break immediately.
Exercise 19.2: Write a script with a 2-level nested loop that simulates searching a 2D seating grid for an assigned student seat number using break 2.