Home > Article > Backend Development > Introduction to several methods of php jumping out of the loop and detailed explanations of the differences with examples
The loop structures in PHP generally include for loop, while loop, do{} while loop and foreach loop. No matter which kind of loop, jump out of the loop in PHP There are roughly several ways:
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 code after the continue statement of this loop and move 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; } else{ echo "$i \n<br/>"; } } ?>
The function of the PHP code fragment is to output within 100, which is neither divisible by 7 nor 3 For those natural numbers that are divisible, the if conditional statement is first used in the loop to determine the numbers that can be 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. The abuse of goto will lead to a serious decrease in the readability of the program. 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 the square roots of those numbers within 1000 that are 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 output the string directly. 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 Introduction to several methods of php jumping out of the loop and detailed explanations of the differences with examples. For more information, please follow other related articles on the PHP Chinese website!