循环
让相同代码一次一次的重复运行
for循环
用于预先知道脚本需要运行的次数情况
/** * for循环结构 * for(初始值; 条件; 增量;){ * 要执行的代码(叫循环体); * } *初始值:主要是初始化一个变量值,用于设置一个计数器(但可以是任何在循环的开始被执行一次的代码) *条件:循环执行的限制条件。如果为TRUE,则循环继续。如果为FALSE,则循环结束。 *增量:主要用于递增计数器(但可以是任何在循环的结束被执行的代码) */ for ($i = 1, $j = 0; $i <= 5;) { echo "数字为" . $i .$j ; echo '<br>'; $i++; }
代码解析
$i = 1, $j = 0 为 初始值
$i <= 5 为 条件、
增量则就是 $i++ 了
当$i的数量增加至5时则跳出这个循环,由于没给$j增加条件且没有增量所以$j变量输出不变
其次for ($i = 1, $j = 0; $i <= 5;)中不写[增量]时[条件]的;不能省略不写
while循环
只要指定的条件成立,则循环执行代码块,直到指定的条件不成立
/** *注意条件判断,避免死循环 *while(条件){ *要执行的代码 *} */ $i = 1; while ($i <= 5) { echo '这是:'.$i.'</br>'; $i++; //输出至5跳出循环 }
do...while循环
语句会至少执行一次代码,然后检查条件,只要条件成立,就会重复进行循环
/** *do{ *要执行的代码; *} *while(条件); */ $i = 1; do{ echo '这是:'.$i.'</br>'; $i++; //输出至6跳出循环 } while($i <= 5);
continue和break
continue【跳出当前循环】
/** * continue的作用是跳出当前的循环【注:不是直接跳出循环】 * 所以输出的内容没有3就是当条件if成立时则执行continue跳出循环不输出3 * 但是没有if == 4 或者if == 5 的条件所以是继续输出下去也就是会输出4,5的原因 */ for ($i = 0; $i <= 5; $i++) { if ($i == 3) { continue; } echo $i.'<br>'; //输出结果为1,2,4,5 }
break && breka2【终止循环】
/** * break的作用是跳出整个for循环 * 所以输出的内容没有3,4,5就是当条件if成立时则执行break跳出循环不输出3 * 但是没有if == 4 或者if == 5 的条件下也是不输出,直接跳出for循环的这就和continue不一样了 */ for ($i = 0; $i <= 5; $i++) { if ($i == 3) { break; } echo $i.'<br>'; //输出结果为1,2 } /** * break 2的大体意思就是跳出2层循环 * break是无法在第二个循环中跳出的 */ for ($i = 0; $i <= 3; $i++) { echo '第一个循环'. $i.'<br>'; for ($j = 0; $j <= 5; $j++) { echo '第二个循环'. $j.'<br>'; if ($j == 2) { break 2; } } }
小知识
/** * 输出的代码为 * 的一部分也就是 $i == 1 * 第一个循环0 * 第二个循环0 * 第二个循环1 * 第二个循环2 * 第二个循环3 * 第二个循环4 * 第二个循环5 * 第二部分也就是 $j == 2 * 第一个循环1 * 第二个循环0 * 第二个循环1 * 第二个循环2 * 分成两部分更好理解 * 第一部分可以看作是先执行了 * if ($i == 1) { * break 2; * } * 也就是$i == 1是跳出 | 第一个循环 也就是当$i递增为1时跳出for ($i = 0; $i <= 3; $i++) {}循环 * 但是不影响for ($j = 0; $j <= 5; $j++) {循环所以第二个循环会完全输出 * * 第二部分则是执行了 * if ($i == 1 && $j == 2) { * break 2; * } * 也就是$i == 1是跳出 | 第一个循环 也就是当$i递增为1时跳出for ($i = 0; $i <= 3; $i++) {}循环 * 但同时又执行了$j == 2这个条件所以输出1,0,1,2 */ for ($i = 0; $i <= 3; $i++) { echo '第一个循环' . $i . '<br>'; for ($j = 0; $j <= 5; $j++) { echo '第二个循环' . $j . '<br>'; if ($i == 1 && $j == 2) { break 2; } } }
总结
所学代码
- 1.for
- 2.while
- 3.do...while
- continue
- break
- break 2
注意:
- A.初始值和增量的参数可为空或者有多个表达式【用逗号分开】
- B.增量可写在()内或者要执行的代码内【建议写在增量内】
- C.while循环需要注意条件判断,避免死循环
- D.do...while是先执行一次代码在进行判断条件其次再循环这就是为什么输出6的原因了
- E.continue是跳出当前if的条件判断循环而不是终止整个循环
- F.break是跳出整个for循环和continue相反吧...
- G.使用break时最好要把输出内容写在break判断条件之前
- H.break和continue可以在while中使用【和for一样就懒得写例子了】