PHP中的循环用于执行相同的代码块指定次数。PHP支持以下四种循环类型。
for - 循环通过代码块指定次数。
while - 只要指定的条件为真,循环遍历代码块。
做... while - 循环一个代码块一次,然后重复循环,只要特殊条件为真。
foreach - 循环遍历数组中每个元素的代码块。
我们将探讨用于控制循环执行的continue和break关键字。
当您知道要执行语句或语句块的次数时,将使用for语句。
for (initialization; condition; increment){ code to be executed; }
初始化器用于设置循环迭代次数的计数器的起始值。为此,可以在这里声明一个变量,并将其命名为$ i。
以下示例进行五次迭代,并更改每循环循环中两个变量的分配值 -
<html> <body> <?php $a = 0; $b = 0; for( $i = 0; $i<5; $i++ ) { $a += 10; $b += 5; } echo ("At the end of the loop a = $a and b = $b" ); ?> </body> </html>
输出结果如下 -
At the end of the loop a = 50 and b = 25
while语句将执行一个代码块,只要测试表达式为true。
如果测试表达式为真,则代码块将被执行。代码执行后,将再次评估测试表达式,循环将继续,直到发现测试表达式为假。
while (condition) { code to be executed; }
该示例在循环的每次迭代中递减变量值,并且当评估为假并且循环结束时,计数器递增直到达到10。
<html> <body> <?php $i = 0; $num = 50; while( $i < 10) { $num--; $i++; } echo ("Loop stopped at i = $i and num = $num" ); ?> </body> </html>
输出结果如下 -
Loop stopped at i = 10 and num = 40
do ... while语句将至少执行一个代码块 - 只要条件为真,它将重复循环。
do { code to be executed; } while (condition);
以下示例将至少增加i的值,并且只要其值小于10,它将继续递增变量i -
<html> <body> <?php $i = 0; $num = 0; do { $i++; } while( $i < 10 ); echo ("Loop stopped at i = $i" ); ?> </body> </html>
输出结果如下 -
Loop stopped at i = 10
foreach语句用于循环数组。对于每次传递,当前数组元素的值被赋值为$ value,并且数组指针被移动一个,而在下一遍中,下一个元素将被处理。
foreach (array as value) { code to be executed; }
尝试以下示例列出数组的值。
<html> <body> <?php $array = array( 1, 2, 3, 4, 5); foreach( $array as $value ) { echo "Value is $value <br />"; } ?> </body> </html>
输出结果如下 -
Value is 1 Value is 2 Value is 3 Value is 4 Value is 5
PHP break关键字用于提前终止循环的执行。
休息的语句位于语句块中。它可以让你完全控制,每当你想退出循环,你都可以出来。循环后立即执行循环执行。
在以下示例中,当计数器值达到3且循环终止时,条件测试成为真。
<html> <body> <?php $i = 0; while( $i < 10) { $i++; if( $i == 3 )break; } echo ("Loop stopped at i = $i" ); ?> </body> </html>
输出结果如下 -
Loop stopped at i = 3
PHP continue关键字用于暂停循环的当前迭代,但它不会终止循环。
就像break语句一样,continue语句位于包含循环执行的代码的语句块内,前面是条件测试。对于pass通过continue语句,循环代码的其余部分被跳过,下一遍的启动。
在以下示例中,循环打印数组的值,但是为什么条件成为true,它只是跳过代码,并打印下一个值。
<html> <body> <?php $array = array( 1, 2, 3, 4, 5); foreach( $array as $value ) { if( $value == 3 )continue; echo "Value is $value <br />"; } ?> </body> </html>
输出结果如下 -
Value is 1 Value is 2 Value is 4 Value is 5