循环(for, foreah, while...)往往伴随着条件判断。当满足某个条件时,进行特殊的处理,其中break和continue是经常使用的两个操作:
一、基础使用
1.continu
中止本次操作,但是下次操作不受影响:
for($a = 0; $a < 5; $a++) {
if ($a == 2) {
continue;// 仅仅符合条件的本次不执行
}
echo $a;
}
// 结果:0134(在循环到2时,暂时停止了echo 操作)
2.break
终止整个迭代操作:
for($a = 0; $a < 5; $a++) {
if ($a == 2) {
break;// 后面的都不执行
}
echo $a;
}
// 结果:01(循环到2时,直接终止了本次循环)
总结:以上是最基本的使用。任何一个php程序员都必须了解。但是,很多程序员却忽略了continue和break后面接数字的使用方法,在多层循环时,有时会起很大的作用,以下仅仅以break为例。
二、对多层循环操作(break和continue后接数字)
1.不带参数
// 第一层循环(字母a到b)
for ($a = 97; $a < 99; $a++) {
echo chr($a);
// 第二层循环
for ($b = 0; $b < 4; $b++) {
if ($b == 2) {
break; // 此时仅仅终止自身的部分
}
echo $b;
}
}
// a0 a1 b0 b1(每次断的仅仅是里面一层循环,最外层不受影响)
3.2带参数
// 第一层循环
for ($a = 97; $a < 99; $a++) {
echo chr($a);
// 第二层循环
for ($b = 0; $b < 4; $b++) {
if ($b == 2) {
break 2; // 将终止2层循环(同理可以终止3层及以上,默认是1)
}
echo $b;
}
}
// a0 a1(在$a = 97,$b = 2时,两层循环全部终止)
同理,continue后面也可以接数字。工作原理相同。