PHP 循环类型
在PHP中,循环用于执行指定次数的相同代码块。PHP支持以下四种循环类型。
- for - 通过指定次数循环执行一段代码块。
-
while - 只要指定条件为真,就循环执行一段代码块。
-
do…while - 循环执行一段代码块一次,然后根据特定条件重复执行。
-
foreach - 针对数组中的每个元素循环执行一段代码块。
我们将讨论用于控制循环执行的 continue 和 break 关键字。
for循环语句
当已知要执行一条语句或一组语句的次数时,使用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循环语句
如果测试表达式为真,则while语句将执行一块代码。
当代码块执行完毕后,测试表达式将再次进行评估,并且循环将继续,直到测试表达式为假为止。
语法
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…while语句至少会执行一次代码块,然后只要条件为真就会重复执行循环。
语法
do {
code to be executed;
}
while (condition);
示例
以下示例将至少一次增加变量i的值,并且只要变量i的值小于10,它将继续增加 –
<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循环语句
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 isvalue <br />";
}
?>
</body>
</html>
这将产生以下结果 –
Value is 1
Value is 2
Value is 3
Value is 4
Value is 5
break语句
PHP的 break 关键字用于提前终止循环的执行。
break 语句位于语句块内部。它给予了您完全的控制权,只要您想要退出循环,就可以结束。退出循环后,将执行循环的下一个语句。
示例
在下面的示例中,当计数器的值达到3时,条件测试变为true,循环终止。
<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
continue语句
PHP中的 continue 关键字用于终止当前循环的迭代,但不会终止循环。
与 break 语句类似, continue 语句位于包含循环执行代码的语句块中,并且在条件测试之前执行。遇到 continue 语句时,跳过循环代码的其余部分,并开始下一轮迭代。
示例
在下面的示例中,循环打印数组的值,但当条件变为真时,它会跳过代码并打印下一个值。
<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