【面试】PHP 中 两层 Foreach 中使用 continue,break 的执行方式
问题:foreach 一定很熟悉吧,break 与 continue 具体有使用过吧~~
那么 两层 foreach 中 的 break ,continue 的执行情况是什么样子呢~~
你知道不了???
不太清楚或者有疑问点的同学们,我们就来一起看下哈。
Break 介绍:
break是被用在上面所提的各种循环和switch语句中的。他的作用是跳出当前的语法结构,执行下面的语句。break语句可以带一个参数n,表示跳出循环的层数,如果要跳出多重循环的话,可以用n来表示跳出的层数,如果不带参数默认是跳出本重循环。
Continue 介绍:
continue是用来用在循环结构中,控制程序放弃本次循环continue语句之后的代码并转而进行下一次循环。continue本身并不跳出循环结构,只是放弃这一次循环。如果在非循环结构中(例如if语句中,switch语句中)使用continue,程序将会出错。
1. 首先排列下 两次普通 foreach 的结果
/***[ForeachDemo双层foreach循环测试]*Author:Heze*CreateTime:20210113:58*/publicfunctionForeachDemo(){$arr=[1,2,3,4,5,6,7,8,9,10];foreach($arras$k=>$v){foreach($arras$ks=>$vs){echo$v.'*'.$vs.'='.$v*$vs.' ';}echo"<br/>";}}
运行结果:
2.内部循环使用 continue 跳出循环
/***[ForeachDemo双层foreach循环测试]*Author:Heze*CreateTime:20210113:58*/publicfunctionForeachDemo(){$arr=[1,2,3,4,5,6,7,8,9,10];foreach($arras$k=>$v){foreach($arras$ks=>$vs){if($vs==5){echo"跳出循环一次";continue;}echo$v.'*'.$vs.'='.$v*$vs.' ';}echo"<br/>";}}
运行结果:
发现在内部循环 跳出一次循环,是每次 执行到 $vs == 5 的情况下跳出当前循环
3. 内部循环使用 break 跳出循环
/***[ForeachDemo双层foreach循环测试]*Author:Heze*CreateTime:20210113:58*/publicfunctionForeachDemo(){$arr=[1,2,3,4,5,6,7,8,9,10];foreach($arras$k=>$v){foreach($arras$ks=>$vs){if($vs==5){echo"跳出循环一次";break;}echo$v.'*'.$vs.'='.$v*$vs.' ';}echo"<br/>";}}
运行结果:
发现在内部使用 break 跳出循环,只要执行到 $vs == 5 就会结束内部循环开始新的外层循环
4. 外层循环使用 continue
/***[ForeachDemo双层foreach循环测试]*Author:Heze*CreateTime:20210113:58*/publicfunctionForeachDemo(){$arr=[1,2,3,4,5,6,7,8,9,10];foreach($arras$k=>$v){if($v==5){echo"跳出循环一次<br/>";continue;}foreach($arras$ks=>$vs){echo$v.'*'.$vs.'='.$v*$vs.' ';}echo"<br/>";}}
运行结果:
在外层循环执行到 $v == 5 时,跳出当前行循环并继续执行。
5. 外层循环使用 break
/**
* [ForeachDemo 双层 foreach 循环测试]
* Author: Heze
* Create Time: 2021 01 13:58
*/
public function ForeachDemo()
{
$arr = [1,2,3,4,5,6,7,8,9,10];
foreach ($arr as $k=>$v) {
if($v == 5) {
echo "跳出循环一次<br/>";
break;
}
foreach ($arr as $ks=>$vs) {
echo $v.' * '.$vs. ' = '.$v*$vs.' ';
}
echo "<br/>";
}
}
运行结果:
在外层循环执行到 $v == 5 时,结束当前循环。
双层 for、foreach 循环中的 break、continue 的运行结果来看:
内层循环使用 break、continue 是用于控制“列”循环是否跳出,或者结束
外层循环使用break、continue 适用于控制 “行”循环是否跳出,或者结束
发现问题,解决问题是一个很开心的事情哈。
有什么疑问可以留言咨询哈~~~
转载请注明出处~~~~
更多相关文章
- 【面试】PHP 字符串翻(反)转的几种方法
- ansible条件判断和循环
- 运算符、流程控制、循环与文件包含
- 从 用python写乘法表中过程中的学到什么
- 3.10c语言自学
- 学习C语言第五天(循环结构课后练习)
- 债务经济循环和投资
- 学习C语言第四天(循环语句练习题)
- Linux下Shell的for循环语句N种写法