PHP 循环用于执行指定次数的同一代码块。PHP 支持以下四种循环类型。
类型 | 描述 |
---|---|
for | 遍历代码块指定次数。 |
foreach | 遍历数组中每个元素的代码块。 |
while | 如果指定条件为 true,则循环遍历代码块。 |
do-while | 遍历一个代码块一次,然后只要满足特殊条件,就重复循环。 |
此外,我们还将解释如何在 PHP 中使用 continue 和 break 语句来控制循环的执行。
PHP for 循环
当您知道要执行一个语句或语句块的次数时,将使用 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 " );
?>
它将产生以下输出 -
PHP foreach 循环
foreach 语句用于循环遍历数组。对于每次传递,当前数组元素的值将分配给 $value,数组指针移动 1,在下一个传递中,将处理下一个元素。
语法
foreach (array as value) {
要执行的代码;
}
示例
尝试以下示例列出数组的值。
<?php
$array = array( 1, 2, 3, 4, 5);
foreach( $array as $value ) {
echo "值是 $value \n";
}
?>
它将产生以下输出 -
值是 2
值是 3
值是 4
值是 5
PHP while 循环
while 语句将在测试表达式为 true 时执行一段代码。
如果测试表达式为 true,则将执行代码块。代码执行后,将再次计算测试表达式,并且循环将继续,直到发现测试表达式为 false。
语法
while (condition) {
要执行的代码;
}
示例
此示例在循环的每次迭代中递减一个变量值,并且计数器递增,直到在计算为 false 且循环结束时达到 10。
<?php
$i = 0;
$num = 50;
while($i < 10) {
$num--;
$i++;
}
echo ("循环在 i = $i 和 num = $num 处停止" );
?>
它将产生以下输出 -
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 处停止" );
?>
它将产生以下输出 -
PHP break 语句
PHP break 关键字用于提前终止循环的执行。
break 语句位于表述块内。它为您提供了完全的控制权,并且无论何时您想退出循环,您都可以出来。从循环中出来后,将执行对循环的立即语句。
示例
在以下示例中,当计数器值达到 3 并且循环终止时,条件测试变为 true。
<?php
$i = 0;
while( $i < 10) {
$i++;
if( $i == 3 )break;
}
echo ("循环在 i= $i 处停止" );
?>
它将产生以下输出 -
PHP continue 语句
PHP continue 关键字用于停止循环的当前迭代,但它不会终止循环。
就像 break 语句一样,continue 语句位于包含循环执行的代码的语句块内,前面是条件测试。对于遇到 continue 语句的传递,将跳过循环代码的其余部分,并开始下一轮传递。
示例
在以下示例中,循环打印 array 的值,但对于条件变为 true,它只会跳过代码并打印下一个值。
<?php
$array = array( 1, 2, 3, 4, 5);
foreach( $array as $value ) {
if( $value == 3 )continue;
echo "值是 $value \n";
}
?>
它将产生以下输出 -
值是 2
值是 4
值是 5