The loop structures in PHP generally include for loop, while loop, do{} while loop and foreach There are several types of loops. No matter what kind of loop, there are roughly several ways to break out of the loop in PHP:
Code:
<?php $i = 1; while (true) { // 这里看上去这个循环会一直执行 if ($i==2) {// 2跳过不显示 $i++; continue; } else if ($i==5) {// 但到这里$i=5就跳出循循环了 break; } else { echo $i . '<br>'; } $i++; } exit; echo '这里不输出'; ?>
Result:
1
3
4
continue
continue is used in a loop structure to control the program to abandon the continue statement of this loop The code after that goes to the next loop. continue itself does not jump out of the loop structure, it just gives up the loop this time. If continue is used in a non-loop structure (such as an if statement, switch statement), the program will error.
For example, in the following PHP code fragment:
<?php for($i = 1;$i <= 100; $i++ ){ if($i % 3 == 0 || $i % 7 == 0){ continue; } & #160; else{ echo”$i \n<br/>”; } } ?>
The function of the PHP code fragment is to output within 100, which is neither divisible by 7 nor For those natural numbers that are not divisible by 3, the if conditional statement is first used in the loop to determine those numbers that are divisible, and then the continue; statement is executed to directly enter the next loop. The following output statement will not be executed.
break
break is used in the various loops and switch statements mentioned above. Its function is to jump out of the current grammatical structure and execute the following statements. The break statement can take a parameter n, indicating the number of levels to jump out of the loop. If you want to jump out of multiple loops, you can use n to indicate the number of levels to jump out of. If there is no parameter, the default is to jump out of the current loop.
Look at the following example of multiple loop nesting:
for($i = 1;$i <= 10; $i++ ){ for($j = 1;$j <= 10;$j++){ $m = $i * $i + $j * $j; echo”$m \n<br/>”; if($m < 90 || $m > 190) { break 2; } } }
Here, break 2 is used to jump out of two loops. You can try it out and remove 2. The result will be completely different. If no parameters are used, only this loop will be jumped out, and the first level loop will continue to execute.
goto
goto is actually just a operator. Like other languages, the abuse of goto is not encouraged in PHP. Abuse of goto will lead to serious program readability decline. The function of goto is to jump the execution of the program from the current position to any other position. 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. However, PHP5.3 and above have stopped supporting goto, so you should try to avoid using goto.
The following is an example of using goto to jump out of the loop
for($i = 1000;$i >= 1 ; $i– ){ if( sqrt($i) <= 29){ goto a; } echo “$i”; } a: echo” this is the end”;
The example uses goto to jump out of the loop. This example is used to detect those numbers within 1000 whose square root is greater than 29 .
exit
exit is used to end program execution. It can be used anywhere and has no meaning of jumping out of the loop. exit can take one parameter. If the parameter is string, PHP will directly output the string. If the parameter is an integer (range is 0-254), that parameter will be used as the end status.
<?php for($i = 1000;$i >= 1 ; $i– ){ if( sqrt($i) >= 29){ echo”$i \n<br/>”; } else{ exit; } } echo”本行将不会被输出”; ?>
In the above example, the execution of the code ends directly in the loop. This will cause the subsequent code to not be executed. If it is in a php web page, even the html code after exit will not be executed. None will be output.
return
The return statement is used to end a piece of code and return a parameter. It can be called from a function, or from a file included in an include() or require() statement, or it can be called from the main program. If it is called from a function, the program will end immediately and return the parameters. , if it is called from a file included in the include() or require() statement, program execution will immediately return to the program that called the file, and the return value will be used as the return value of include() or require(). And if it is called in the main program, then the main program will stop executing immediately
<?php for($i = 1000;$i >= 1 ; $i– ){ if( sqrt($i) >= 29){ echo”$i \n<br/>”; } else{ return; } } echo”本行将不会被输出”; ?>
The example here has the same effect as using exit above.
In the loop end condition, it will naturally jump out.
This is of course the best to understand. When the loop meets the critical condition of the loop, it will exit by itself.
The above is a brief summary of several ways to break out of loops in PHP.
The above is the detailed content of Several ways and differences in php jumping out of loops. For more information, please follow other related articles on the PHP Chinese website!