Several variants of for loop statements in PHP

Source: Internet
Author: User
A for loop is the most complex loop structure in PHP. Its behavior is similar to that in C. The syntax of the for loop is: for (expr1; expr2; expr3) statement the first expression (expr1) is evaluated unconditionally once before the loop starts. Expr2 is evaluated before each cycle starts. If the value is TRUE, the loop continues and the nested loop statement is executed. If the value is for loop, it is the most complex loop structure in PHP. Its behavior is similar to that of C language. The syntax of the for loop is:

For (expr1; expr2; expr3)
Statement

The first expression (expr1) is unconditionally evaluated once before the loop starts.

Expr2 is evaluated before each cycle starts. If the value is TRUE, the loop continues and the nested loop statement is executed. If the value is FALSE, the loop is terminated.

Expr3 is evaluated (executed) after each loop ).

Each expression can be empty. If expr2 is null, it means an infinite loop (like C, PHP considers its value TRUE ). This may not be as useful as imagined, because it is often expected that the break statement is used to end the loop rather than the true value of the for expression.

Consider the following example where they all show numbers 1 to 10:

/* Example 1 */

For ($ I = 1; $ I <= 10; $ I ){
Echo $ I;
}

/* Example 2 */

For ($ I = 1; $ I ){
If ($ I> 10 ){
Break;
}
Echo $ I;
}

/* Example 3 */

$ I = 1;
For (;;){
If ($ I> 10 ){
Break;
}
Echo $ I;
$ I;
}

/* Example 4 */

For ($ I = 1; $ I <= 10; echo $ I, $ I );
?>

Of course, the first example looks the most normal (or the fourth one), but you may find it convenient to use an empty expression in a for loop in many cases.

PHP also supports the replacement syntax of the for loop with colons.

For (expr1; expr2; expr3 ):
Statement;
...
Endfor;

The for statement is the most basic statement in the loop control part of PHP (also multiple languages). The execution rules and basic usage of the for statement are not described here. The syntax of PHP is defined as follows:

For (expr1; expr2; expr3)
Statement


The following describes several useful variants of the for statement.


  1. infinite loop

The first is an infinite loop (also known as an "endless loop "). The null expression is effective in syntax, so we can leave the three expressions of the for statement empty, which will produce continuous execution of the for nested statement.

For (;;){
// Place the statements that require continuous execution
}
?>

Although some tasks use infinite loops, most Program tasks, especially PHP fields, add conditions for terminating loops when using infinite loops.

For (;;){
// If it is 2199 AD, it will jump out of the loop
If (date ('Y') = '000000 '){
Break;
}
}
?>

  2. use an empty expression

Next we will talk about the use of the null syntax in the initialization statement expr1. The most common function of leaving expr1 blank is to complete more complex initialization.

If (isset ($ I )){
Unset ($ I );
If (int) date ('') <2008 ){
$ I = 0;
} Else {
$ I = 1;
}
} Else {
$ I = 3;
}

For (; $ I <10; $ I ){
Echo $ I;
}
?>

In the same way, the iteration expression expr3 may also be left blank. you can also use this to write more complex iterations, such as calling different iterations based on different conditions.

The expr2 field in the for statement is an infinite loop mentioned above. of course, you can add more complex conditions to determine when to jump out of the loop, which is not repeated here.

  3. multiple cycles

Using multiple loops to control multiple variables is also a feature that is often ignored in the for statement. In the following example, a double loop is usually used in a general task, and a triple or above loop is of little significance.

For ($ I = 0, $ j = 10; $ I <= 10; $ I, $ j --){
Echo "$ I $ j = 10 \ r \ n ";
}
?>

The above code will be output:
0 10 = 10
1 9 = 10
2 8 = 10
3 7 = 10
4 6 = 10
5 5 = 10
6 4 = 10
7 3 = 10
8 2 = 10
9 1 = 10
10 0 = 10

  4. more complex expressions

If the three expressions of the for statement are more complex, they can be used to optimize the algorithm. You can even use a for statement without a loop body to complete some tasks. For example, calculation of accumulation or factorial:

// Calculates the accumulate result from 1-5, and returns the value to $ j.
For ($ I = 1, $ j = 0; $ I <= 5; $ j = $ I );
Echo $ j;

// Calculate the factorial result from 1-5. the bin value is $ j.
For ($ I = 1, $ j = 1; $ I <= 5; $ j * = $ I );
Echo $ j;

?>

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.