Home > Article > Backend Development > PHP flow control for statement
This article mainly introduces the for statement about PHP process control. It has a certain reference value. Now I share it with everyone. Friends in need can refer to it.
This article is for basic useLearners, experts please close this page
It takes 7 minutes to read this article. It’s hard to understand those who have difficulty?
(PHP 4, PHP 5, PHP 7)
The for loop is the most complex loop structure in PHP. Its behavior is similar to that of C language. The syntax of a for loop is:
for (expr1; expr2; expr3) statement
The first expression () is unconditionally evaluated (and executed) once before the loop starts.
Evaluate before each loop 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.
is evaluated (and executed) after each loop.
Each expression can be empty or include multiple expressions separated by commas. In expression , all comma-separated expressions are evaluated, but only the last result is taken. Empty means that the loop will continue indefinitely (like C, PHP implicitly believes that its value is TRUE
). This may not be as useless as you think, because you often want to use a conditional break statement to end the loop instead of using the for expression truth check.
Consider the following examples, both of which display the numbers 1 to 10:
<?php /* 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, $j = 0; $i <= 10; $j += $i, print $i, $i++); ?>
Of course, the first example looks the simplest (or some would argue the fourth), but the user may I have found that using empty expressions in for loops is convenient in many situations.
PHP also supports an alternative syntax for for loops using colons.
for (expr1; expr2; expr3): statement; ... endfor;
Sometimes it is often necessary to traverse an array like the following example:
<?php /* * 此数组将在遍历的过程中改变其中某些单元的值 */ $people = Array( Array('name' => 'Kalle', 'salt' => 856412), Array('name' => 'Pierre', 'salt' => 215863) ); for($i = 0; $i < count($people); ++$i) { $people[$i]['salt'] = rand(000000, 999999); } ?>
The above code may execute very slowly because each loop The length of the array must be calculated every time. Since the length of the array always remains the same, an intermediate variable can be used to store the length of the array to optimize instead of constantly calling count():
<?php $people = Array( Array('name' => 'Kalle', 'salt' => 856412), Array('name' => 'Pierre', 'salt' => 215863) ); for($i = 0, $size = count($people); $i < $size; ++$i) { $people[$i]['salt'] = rand(000000, 999999); } ?>
Related recommendations:
php process control elseif/else if
The above is the detailed content of PHP flow control for statement. For more information, please follow other related articles on the PHP Chinese website!