PHP – 循环类型



PHP 循环用于执行指定次数的同一代码块。PHP 支持以下四种循环类型。

  • for − 遍历代码块指定次数。
  • foreach − 遍历数组中每个元素的代码块。
  • while − 如果指定条件为 true,则循环遍历代码块。
  • do-while − 遍历一个代码块一次,然后只要满足特殊条件,就重复循环。

此外,我们还将解释如何在 PHP 中使用 continue 和 break 语句来控制循环的执行。

PHP for 循环

当您知道要执行一个语句或语句块的次数时,将使用 for 语句。

Php 中的 for 循环

语法


for (initialization; condition; increment){
   要执行的代码;
}

初始化器用于设置循环迭代次数的计数器的起始值。为此,可以在此处声明一个变量,传统上将其命名为 $i。

示例

以下示例进行五次迭代,并在循环的每次传递中更改两个变量的分配值 -


<?php
   $a = 0;
   $b = 0;

   for( $i = 0; $i<5; $i++ ) {
      $a += 10;
      $b += 5;
   }

   echo ("在循环结束时,a=$a,b=$b" );
?>

它将产生以下输出 -

在循环结束时,a=50,b=25

PHP foreach 循环

foreach 语句用于循环遍历数组。对于每次传递,当前数组元素的值将分配给 $value,数组指针移动 1,在下一个传递中,将处理下一个元素。

语法


foreach (array as value) {
   要执行的代码;
}

示例

尝试以下示例列出数组的值。


<?php
   $array = array( 1, 2, 3, 4, 5);

   foreach( $array as $value ) {
      echo "值是 $value \n";
   }
?>

它将产生以下输出 -

值是 1
值是 2
值是 3
值是 4
值是 5

PHP while 循环

while 语句将在测试表达式为 true 时执行一段代码。

如果测试表达式为 true,则将执行代码块。代码执行后,将再次计算测试表达式,并且循环将继续,直到发现测试表达式为 false。

PHP 中的 for 循环

语法


while (condition) {
   要执行的代码;
}

示例

此示例在循环的每次迭代中递减一个变量值,并且计数器递增,直到在计算为 false 且循环结束时达到 10。


<?php
   $i = 0;
   $num = 50;

   while($i < 10) {
      $num--;
      $i++;
   }

   echo ("循环在 i=$i 和 num=$num 处停止" );
?>

它将产生以下输出 -

循环在 i=10 和 num=40 时停止

PHP do-while 循环

do-while 语句将至少执行一次代码块 - 然后,只要条件为 true,它就会重复循环。

语法


do {
   要执行的代码;
}
while (condition);

示例

下面的示例将至少递增一次 i 的值,并且只要变量 i 的值小于 10 −,它就会继续递增该变量 i


<?php
   $i = 0;
   $num = 0;

   do {
      $i++;
   }

   while( $i < 10 );
   echo ("循环在 i=$i 处停止" );
?>

它将产生以下输出 -

循环在 i=10 处停止

PHP break 语句

PHP break 关键字用于提前终止循环的执行。

break 语句位于表述块内。它为您提供了完全的控制权,并且无论何时您想退出循环,您都可以出来。从循环中出来后,将执行对循环的立即语句。

PHP break 语句

示例

在以下示例中,当计数器值达到 3 并且循环终止时,条件测试变为 true。


<?php
   $i = 0;

   while( $i < 10) {
      $i++;
      if( $i == 3 )break;
   }
   echo ("循环在 i=$i 处停止" );
?>

它将产生以下输出 -

循环在 i=3 处停止

PHP continue 语句

PHP continue 关键字用于停止循环的当前迭代,但它不会终止循环。

就像 break 语句一样,continue 语句位于包含循环执行的代码的语句块内,前面是条件测试。对于遇到 continue 语句的传递,将跳过循环代码的其余部分,并开始下一轮传递。

PHP Continue 语句 

示例

在以下示例中,循环打印 array 的值,但对于条件变为 true,它只会跳过代码并打印下一个值。


<?php
   $array = array( 1, 2, 3, 4, 5);

   foreach( $array as $value ) {
      if( $value == 3 )continue;
      echo "值是 $value \n";
   }
?>

它将产生以下输出 -

值是 1
值是 2
值是 4
值是 5