Home > Backend Development > PHP Problem > PHP loop learning five: How to break out of the loop? Brief analysis of 5 methods

PHP loop learning five: How to break out of the loop? Brief analysis of 5 methods

青灯夜游
Release: 2023-03-11 21:08:01
Original
16068 people have browsed it

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.&#39; <br>&#39;;
    }
?>
Copy after login

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
Copy after login

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.&#39; <br>&#39;;
    }
?>
Copy after login

The answer is:

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;

So can 1 be divided by 2? Obviously it cannot, so if the value in

() 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.&#39; <br>&#39;;
}
a:
?>
Copy after login

Output:

1
Copy after login
Copy after login
Copy after login

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.&#39; <br>&#39;;
}
?>
Copy after login

Output:

1
Copy after login
Copy after login
Copy after login
## The #die()/exit() function only accepts one parameter, which can be a specific value or a string, or no parameters can be entered. If the parameter is a 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 state.

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.&#39; <br>&#39;;
}
?>
Copy after login
Output:

1
Copy after login
Copy after login
Copy after login

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!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template