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