PHP中的循环用于按指定次数来执行相同的代码块。 PHP支持以下四种循环类型。
for
- 通过指定次数的代码块循环。while
- 只要指定的条件成立,就循环一段代码。do...while
- 一段代码至少执行一次,然后只要给定条件成立就重复循环。foreach
- 循环访问数组中每个元素的代码块。
我们也将讨论关于用于控制循环执行的关键字:continue
和break
。
1. for循环语句
当知道要执行一个语句或一个语句块多少次时,就可以考虑使用for
语句。
语法
for (initialization; condition; increment){
code to be executed;
}
初始化器(initialization
)用于设置循环迭代次数计数器的起始值。为了这个目的,可以在这里声明一个变量,将它命名为$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
2. while循环语句
while
语句只要测试表达式为真(TRUE
),就会执行一段代码。
如果测试表达式为真,那么代码块将被执行。 在代码执行后,测试表达式将再次被评估,并且循环将继续,直到测试表达式被发现为假(FALSE
)。
语法
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
3. do…while循环语句
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
4. 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 is $value <br />";
}
?>
</body>
</html>
执行上面示例代码,它将产生以下结果 -
Value is 1
Value is 2
Value is 3
Value is 4
Value is 5
5. break语句
PHP中的break
关键字用于提前终止循环的执行(退出循环)。
break
语句位于语句块内部。它是一个退出循环的语句,退出后循环体之后的第一条语句将被执行。
示例
在以下示例中,当计数器($i
)的值达到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
6. 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