In the previous article, we took you to learn several loop control structures in PHP (while loop, do-while loop, for loopand foreach loop), and introduces the methods of for loop statement and foreach loop statement to traverse arrays. If you are interested, you can click on the link to view it. I hope it will be helpful to everyone!
Loop statements can repeatedly perform an operation when the conditions are met, but sometimes the conditions are met but the loop has not ended yet. In this case, you need to jump out of the loop. So how to break out of the loop in PHP? Today I will share with you 5 ways to break out of loops: continue statement, break statement, goto statement, die()/exit() statement, and return statement.
Method 1: Use the continue statement
The function of the continue statement is to jump out of this loop and then execute the next cycle (after giving up the continue statement code and proceed to the next loop).
Let’s take a look at the code example below.
Example 1: Output all even numbers between 1 and 10 (even numbers can be divisible by 2)
<?php for ($i = 1; $i <= 10; $i++) { if($i % 2 != 0) { continue; } echo $i.' <br>'; } ?>
Analysis:
for ($i = 1; $i <= 10; $i ){}
The statement can loop to get all numbers between 1~10
if($i % 2 != 0)
statement is used to judge whether the value of $i
can be divided evenly by 2. If it cannot be divided evenly, the value in ()
is true, the continue;
statement will be executed.
In the loop body, use the if($i % 2 != 0)
statement to make a judgment. If the value of $i can be divided by 2, use "echo $i
" output; if the value of $i cannot be divided evenly by 2, the continue;
statement will be triggered, jump out of this loop (without output), and execute the next loop.
Output result:
2 4 6 8 10
Method 2: Use break statement
##break The statement is used to jump out of the current syntax structure. It can terminate the code of the loop body and jump out of the current loop immediately, executing the code after the loop. The difference between break and continue is that the continue statement only ends the current loop, while the break statement terminates the execution of the entire loop. Use the code in Example 1 above and replace continue; with
break;. What will be output?
<?php for ($i = 1; $i <= 10; $i++) { if($i % 2 != 0) { break; } echo $i.' <br>'; } ?>
Nothing is output. Why is this happening? Let’s analyze it:
At the beginning of the forx loop,$i=1, is 1 less than 10? Of course, then start executing the
if($i % 2 != 0) statement in the loop body;
() is true, then the "break;" statement in the if is executed, jumping out of the entire loop directly, and there is no chance to execute "
echo $i.' < br>'" statement.
Method 3: goto statement
The function of goto is to jump the execution of the program from the current position to any other position. The target location can be marked with the target name followed by a colon (e.g. name: ), and the jump instruction is goto followed by the mark of the target location. goto itself does not have the function of ending the loop, but its jump position allows it to be used as a jump out of the loop. Let’s take a look at the code example below.Example 2: Output all odd numbers between 1 and 10 (odd numbers cannot be divisible by 2)
<?php for ($i = 1; $i <= 10; $i++) { if($i % 2 == 0) { goto a; } echo $i.' <br>'; } a: ?>
1
goto is actually just an operator, and its use has certain restrictions: the target location of the jump can only be in the same file and scope. The goto operator is only valid in PHP5.3 and above.
Method 4: die()/exit() statement
The two names exit and die point to the same function. The role of die()/exit(): to end program execution and can be used anywhere. Use the code in Example 3 above, replace the goto statement with die(), and look at the output
<?php header("Content-type:text/html;charset=utf-8"); for ($i = 1; $i <= 10; $i++) { if($i % 2 == 0) { die(); } echo $i.' <br>'; } ?>
1
Method 5: return statement The return statement is used to end a piece of code and return a parameter.
Use the code in Example 3 above, replace the die() statement with the return statement, and look at the output<?php
header("Content-type:text/html;charset=utf-8");
for ($i = 1; $i <= 10; $i++) {
if($i % 2 == 0) {
return;
}
echo $i.' <br>';
}
?>
1
return语句可以在一个函数里调用,也可以从一个include()或者require()语句包含的文件里来调用,也可以是在主程序里调用。
好了就说到这里了,有其他想知道的,可以点击这个哦。→ →php视频教程
推荐:《PHP面试题大汇总(收藏)》
The above is the detailed content of PHP loop learning five: How to break out of the loop? Brief analysis of 5 methods. For more information, please follow other related articles on the PHP Chinese website!