循环执行代码块指定的次数,或者当指定的条件为真时循环执行代码块。
for 循环
for 循环用于您预先知道脚本需要运行的次数的情况。
语法
for (初始值; 条件; 增量) { 要执行的代码; }
参数:
- 初始值:主要是初始化一个变量值,用于设置一个计数器(但可以是任何在循环的开始被执行一次的代码)。
- 条件:循环执行的限制条件。如果为 TRUE,则循环继续。如果为 FALSE,则循环结束。
- 增量:主要用于递增计数器(但可以是任何在循环的结束被执行的代码)。
注释:上面的初始值和增量参数可为空,或者有多个表达式(用逗号分隔)。
实例
下面的实例定义一个初始值为 i=1 的循环,只要变量 i 小于或者等于 5,循环将继续运行。循环每运行一次,变量 i 就会递增 1:
<?php
for ($i=1; $i<=5; $i++)
{
echo "The number is " . $i . "<br />";
}
?>
运行结果:
The number is 1 The number is 2 The number is 3 The number is 4 The number is 5
使用for循环,实现冒泡排序:
<?php
//冒泡排序
//升序
$arr = [6,8,23,8,1,88];
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;
}
}
}
echo '<pre>';
print_r($arr);
echo '</pre>';
//降序
$myArray2=[6,12,19,9,14,15];
for ($i=0;$i<count($myArray2)-1;$i++){
for ($j=0;$j<count($myArray2)-$i-1;$j++){
if ($myArray2[$j]<$myArray2[$j+1]){
//把小的数往后移
$temp=$myArray2[$j];
$myArray2[$j]=$myArray2[$j+1];
$myArray2[$j+1]=$temp;
}
}
}
echo '<pre>';
print_r($myArray2);
echo '</pre>';
?>
foreach 循环
foreach 循环用于遍历数组。
语法
foreach ($array as $value) { 要执行代码; }
每进行一次循环,当前数组元素的值就会被赋值给 $value 变量(数组指针会逐一地移动),在进行下一次循环时,您将看到数组中的下一个值。
实例
下面的实例演示了一个输出给定数组的值的循环:
<?php
$x=array("Google","Runoops","Taobao");
foreach ($x as $value)
{
echo $value . "<br />";
}
?>
下面的实例演示了一个输出给定数组键与值的循环:
<?php
$x=array(1=>"Google", 2=>"Runoops", 3=>"Taobao");
foreach ($x as $key => $value)
{
echo "key 为 " . $key . ",对应的 value 为 ". $value . "<br />";
}
?>
分享笔记