PHP 循环语句
-
PHP 循环
PHP中的循环用于执行指定次数的相同代码块。PHP支持以下四种循环类型。- for - 循环遍历一段代码指定的次数。
- while - 只要指定的条件为真,就循环遍历代码块。
- do ... while - 循环遍历一段代码至少一次,然后只要特殊条件为真,就重复循环。
- foreach - 循环遍历数组中每个元素的代码块。
我们将讨论用于控制循环执行的continue
和break
关键字。 -
for循环语句
当您知道事先知道要执行语句或语句块的次数时,将使用for
语句。语法for (初始化变量; 条件; 增量或减量){ 要执行的代码块; }
初始化变量用于设置循环迭代次数的计数器的起始值。为此目的,可以在此处声明变量,将其命名为$i是一贯的做法。
尝试一下<html> <body> <?php $a = 0; $b = 0; for( $i = 0; $i<5; $i++ ) { $a += 10; $b += 5; } echo ("在循环结束时a = $a 和 b = $b " ); ?> </body> </html>
提示:
for
语句中的三个表达式不是必需的,您可以省略任何一个表达式,或者全部省略。从而写成您想要的需求。 -
while循环语句
只要测试表达式为真,while
语句就会执行一段代码。如果测试表达式为true,则执行代码块。代码执行完毕后,将再次评估测试表达式,循环将继续,直到发现测试表达式为false从而跳出循环。语法while (条件) { 只要条件为真,这里的代码块会一直循环执行; }
此示例在循环的每次迭代中递减变量值,并且计数器递增,直到评估值为假并且循环结束时达到计数器的值为10。
尝试一下<html> <body> <?php $i = 0; $num = 50; while( $i < 10) { $num--; $i++; } echo ("循环结束时 i = $i 和 num = $num " ); ?> </body> </html>
-
do ... while循环语句
do ... while
语句将至少执行一次代码块 - 然后再去测试条件为真,它就会重复循环。语法do { 这里至少会被执行一次,然后测试条件为真继续执行,直到条件为假跳出循环; } while (条件);
以下示例将至少增加一次i的值,并且只要其值小于10,它将继续递增变量i
尝试一下<html> <body> <?php $i = 0; $num = 0; do { $i++; } while( $i < 10 ); echo ("循环结束 i = $i " ); ?> </body> </html>
-
foreach循环语句
foreach
语句用于循环遍历数组。对于每次传递,将当前数组元素的值分配给$value,将当前数组元素的键分配给$key,并将数组指针移动一个,并在下一个传递中处理下一个元素。语法foreach ($array as $key => $value) { 执行代码块,直至数组被迭代到最后一个元素; }
尝试以下示例列出数组的键和值。
尝试一下<html> <body> <?php $array = array( 1, 2, 3, 4, 5); foreach( $array as $key => $value ) { echo "Key is $key ,Value is $value <br />"; } ?> </body> </html>
提示:foreach语句中的的语法$key并不是必需的。请查看最后一节“continue声明”中的示例
-
break声明
PHPbreak
关键字用于终止循环的执行。break
语句位于语句块中。它控制循环无论何时退出循环,您都可以出来。退出循环结束后,将执行循环之后的代码。在以下示例中,当计数器值达到3时终止循环。
尝试一下<html> <body> <?php $i = 0; while( $i < 10) { $i++; if( $i == 3 )break; } echo ("循环终止时 i = $i" ); ?> </body> </html>
-
continue声明
PHPcontinue
关键字用于暂停循环的本次循环,但它不会终止循环。就像break
语句一样,continue
语句位于包含循环执行代码的语句块内,前面是条件测试。对于传递遇到的continue
语句,跳过其余的循环代码并开始下一次循环。在下面的示例中,循环打印数组的值但是对于值为3时候,它只是跳过代码并打印下一个值。
尝试一下<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>