do{
}while(0);
我们知道do-while循环会先执行一次,判断while中条件为ture后,执行循环,而此时将while中条件写死为false,是不是根本没有用到循环好处呢?
我想是错误的。
我们可以在do-while中增加一个循环
do{
foreach($arr as $item){
if($item['id'] == 2){
break 2;
}
}
}while(0);
当break 2 的时候是跳出外层do-while循环,也就是do-while循环,这么有什么好处呢?
我们在do-while中再增加一个循环
do{
foreach($arr1 as $item1){
if($item1['id'] == 2){
break 2;
}
}
foreach($arr2 as $item2){
if($item2['id'] == 3){
break 2;
}
}
}while(0);
当do-while中有多个循环时,如果遇到break 2,则直接跳出外层do-while循环,不用再执行下面的循环,
这样的话可以不需要执行没必要的代码,提高程序执行的效率。
do while(0) + break可以模拟goto语句,遇到break直接跳转
貌似模拟goto语句一样,这个骚操作还是挺帅的。
网友评论