其实,你只要学过c语言等编程语言,这个循环理解起来就不难,大同小异,php循环也分为以下几种:
while-只要指定的条件成立就循环执行代码块
do...while-首先执行一次代码块,然后在指定的条件成立时重复这个循环
for-循环执行代码块指定的次数
foreach-根据数组中每个元素来循环代码块(c语言中没有这个循环,但在c#中有这个循环,特别注意它的用法)
一、while循环
<html>
<body>
<?php
$i=1;
while($i<=5)
{
echo "The number is " . $i . "<br>";
$i++;
}
?>
</body>
</html>
上面的实例首先设置变量 i 的值为 1 ($i=1;)。
然后,只要 i 小于或者等于 5,while 循环将继续运行。循环每运行一次,i 就会递增 1:
输出:
The number is 1
The number is 2
The number is 3
The number is 4
The number is 5
二、do...while循环
<html> <body> <?php $i=1; do { $i++; echo "The number is " . $i . "<br>"; } while ($i<=5); ?> </body> </html>
上面的实例首先设置变量 i 的值为 1 ($i=1;)。
然后,开始 do...while 循环。循环将变量 i 的值递增 1,然后输出。先检查条件(i 小于或者等于 5),只要 i 小于或者等于 5,循环将继续运行
输出:
The number is 2
The number is 3
The number is 4
The number is 5
The number is 6
三、for循环
<?php
for ($i=1; $i<=5; $i++)
{
echo "The number is " . $i . "<br>";
}
?>
上面的实例定义一个初始值为 i=1 的循环。只要变量 i 小于或者等于 5,循环将继续运行。循环每运行一次,变量 i 就会递增 1:
输出:
The number is 1
The number is 2
The number is 3
The number is 4
The number is 5
使用for循环,实现冒泡排序:(其实与c语言的写法一样的,只是变量的表示方法不同而已)
<?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);
?>
四、foreach循环(用于遍历数组)
语法
foreach ($array as $value)
{
要执行代码;
}
每进行一次循环,当前数组元素的值就会被赋值给 $value 变量(数组指针会逐一地移动),在进行下一次循环时,您将看到数组中的下一个值
<?php
$x=array("one","two","three");
foreach ($x as $value)
{
echo $value . "<br>";
}
?>
上面的实例演示了一个输出给定数组的值的循环:
输出:
one
two
three
之前我们在数组那一篇文章中也用到了foreach遍历关联数组,
<?php
$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
foreach($age as $x=>$x_value)
{
echo "Key=" . $x . ", Value=" . $x_value;
echo "<br>";
}
?>