循环执行代码块指定的次数,或者当指定的条件为真时循环执行代码块。
PHP 循环
在编写代码时,经常需要让相同的代码块一次又一次地重复运行。我们可以在代码中使用循环语句来完成这个任务。
在 PHP 中,提供了下列循环语句:
1:while - 只要指定的条件成立,则循环执行代码块
2:do...while - 首先执行1次代码块,然后在指定的条件成立时重复这个循环
3:for - 循环执行代码块指定的次数
4:foreach - 根据数组中每个元素来循环代码块
while 循环
while 循环将重复执行代码块,直到指定的条件不成立。
语法
while (条件) { 要执行的代码; }
实例:
下面实例首先设置变量 i 的值为 1 ($i=1;)。
然后,只要 i 小于或者等于 5,while 循环将继续运行。循环每运行1次,i 就会递增 1:
<html> <body> <?php $i=1; while($i<=5) { echo "The number is " . $i . "<br>"; $i++; } ?> </body> </html>
输出:
The number is 1
The number is 2
The number is 3
The number is 4
The number is 5
do...while 语句
do...while 语句会至少执行1次代码,然后检查条件,只要条件成立,就会重复进行循环。
语法
do { 要执行的代码; } while (条件);
实例:
下面实例首先设置变量 i 的值为 1 ($i=1;)。
然后,开始 do...while 循环。循环将变量 i 的值递增 1,然后输出。先检查条件(i 小于或者等于 5),只要 i 小于或者等于 5,循环将继续运行:
<html> <body> <?php $i=1; do { $i++; echo "The number is " . $i . "<br>"; } while ($i<=5); ?> </body> </html>
输出:
The number is 2
The number is 3
The number is 4
The number is 5
The number is 6
for 循环
for 循环用于你预先知道脚本需要运行的次数的情况。
语法
for (初始值; 条件; 增量) { 要执行的代码; }
参数:
1:初始值:主要是初始化1个变量值,用于设置1个计数器(但可以是任何在循环的开始被执行1次的代码)。
2:条件:循环执行的限制条件。如果为 TRUE,则循环继续。如果为 FALSE,则循环结束。
3:增量:主要用于递增计数器(但可以是任何在循环的结束被执行的代码)。
注释:上面的初始值和增量参数可为空,或者有多个表达式(用逗号分隔)。
实例:
下面的实例定义1个初始值为 i=1 的循环。只要变量 i 小于或者等于 5,循环将继续运行。循环每运行1次,变量 i 就会递增 1:
实例:
<?php
for ($i=1; $i<=5; $i++)
{
echo "数字为 " . $i . PHP_EOL;
}
?>
输出:
数字为 1 数字为 2 数字为 3 数字为 4 数字为 5
foreach 循环
foreach 循环用于遍历数组。
语法
foreach ($array as $value) { 要执行代码; }
每进行1次循环,当前数组元素的值就会被赋值给 $value 变量(数组指针会逐一地移动),在进行下1次循环时,您将看到数组中的下1个值。
foreach ($array as $key => $value) { 要执行代码; }
每一次循环,当前数组元素的键与值就都会被赋值给 $key 和 $value 变量(数字指针会逐一地移动),在进行下一次循环时,你将看到数组中的下一个键与值。
实例:
下面实例演示一个输出给定数组的值的循环:
实例:
<?php
$x=array("Google","Runoob","Taobao");
foreach ($x as $value)
{
echo $value . PHP_EOL;
}
?>
输出:
Google Runoob Taobao
下面实例演示了1个输出给定数组键与值的循环:
实例:
<?php
$x=array(1=>"Google", 2=>"Runoob", 3=>"Taobao");
foreach ($x as $key => $value)
{
echo "key 为 " . $key . ",对应的 value 为 ". $value . PHP_EOL;
}
?>
输出:
key 为 1,对应的 value 为 Google key 为 2,对应的 value 为 Runoob key 为 3,对应的 value 为 Taobao