In PHP, you are probably familiar with the ` keyword, which is used to stop a loop.break`
What many developers don’t realize is that it ` can accept a numeric argument. This number tells PHP how many nested loop levels should be terminated.break`
Consider the following example:
foreach ($firstLoop as $firstItem) {foreach ($secondLoop as $secondItem) {foreach ($thirdLoop as $thirdItem) {if ($this->shouldStop($thirdItem)) {break 2; // Exit third and second loops}}}}
What does `break 2;` do?
-
`break 1;`(or simply`) stops only the current (innermost) loop.break;` -
`break 2;`stops two nested loops. -
`break 3;`would stop three nested loops, and so on.
In this example, `break 2;` exits:
-
The third loop (innermost)
-
The second loop
Execution then continues in the first loop.
This is especially useful when working with deeply nested loops, and you need to escape multiple levels once a condition is met.