编程语言
565
在您编写代码时,经常需要反复运行同一代码块。我们可以使用循环来执行这样的任务,而不是在脚本中添加若干几乎相等的代码行。
在 PHP 中,我们有以下循环语句:
- while - 只要指定条件为真,则循环代码块
- do...while - 先执行一次代码块,然后只要指定条件为真则重复循环
- for - 循环代码块指定次数
- foreach - 遍历数组中的每个元素并循环代码块
1. while 循环
只要指定的条件为真,while 循环就会执行代码块。
while (条件为真) { 要执行的代码; }
下例首先把变量 $a
设置为 1($a=1
)。然后执行 while 循环,只要 $a
小于或等于 5。循环每运行一次,$a
将递增 1:
<?php $a=1; while($a<=5) { echo "当前的值是:$a <br>"; $a++; } ?>
输出:
当前的值是:1 <br> 当前的值是:2 <br> 当前的值是:3 <br> 当前的值是:4 <br> 当前的值是:5 <br>
2. do...while 循环
do...while 循环首先会执行一次代码块,然后检查条件,如果指定条件为真,则重复循环。
do { 要执行的代码; } while (条件为真);
下面的例子首先把变量 $b
设置为 1($b=1
)。然后,do while 循环输出一段字符串,然后对变量 $b
递增 1。随后对条件进行检查($b
是否小于或等于 5)。只要 $b
小于或等于 5,循环将会继续运行:
<?php $b=1; do { echo "当前的值是:$b <br>"; $b++; } while ($b<=5); ?>
输出
当前的值是:1 当前的值是:2 当前的值是:3 当前的值是:4 当前的值是:5
请注意,do while 循环只在执行循环内的语句之后才对条件进行测试。这意味着 do while 循环至少会执行一次语句,即使条件测试在第一次就失败了。
下面的例子把 $b
设置为 6,然后运行循环,随后对条件进行检查 :
<?php $b=6; do { echo "当前的值是:$b <br>"; $b++; } while ($b<=5); ?>
输出:
当前的值是:6
3. for 循环
如果您已经提前确定脚本运行的次数,可以使用 for 循环。
for (init counter; test counter; increment counter) { code to be executed; }
参数:
- init counter:初始化循环计数器的值
- test counter:: 评估每个循环迭代。如果值为 TRUE,继续循环。如果它的值为 FALSE,循环结束。
- increment counter:增加循环计数器的值
下面的例子显示了从 0 到 10 的数字:
实例
<?php for ($x=0; $x<=10; $x++) { echo "number is : $x <br>"; } ?>
输出:
number is : 0 number is : 1 number is : 2 number is : 3 number is : 4 number is : 5 number is : 6 number is : 7 number is : 8 number is : 9 number is : 10
4. foreach 循环
foreach 循环只适用于数组,并用于遍历数组中的每个键/值对。
foreach ($array as $value) { code to be executed; }
每进行一次循环迭代,当前数组元素的值就会被赋值给 $value 变量,并且数组指针会逐一地移动,直到到达最后一个数组元素。
下面的例子演示的循环将输出给定数组($colors)的值:
<?php $colors = array("red","green","blue","yellow"); foreach ($colors as $value) { echo "$value <br>"; } ?>
输出:
red green blue yellow