Linux内核和其他一些开源的代码中,经常会遇到这样的代码:
do{
...
}while(0)
同时在新公司的PHP代码中每一个控制器中都会遇到这些代码块,这样的代码一看就不是一个循环,do..while表面上在这里一点意义都没有,那么为什么要这么用呢?实际上,do{...}while(0)的作用远大于美化你的代码。
在PHP中我只意识到以下两点:
1.用于宏定义
在宏定义中避免出现逻辑错误,可代替 { }
2.用于代替goto
一段代码,想要执行到某个条件,后面的代码不继续执行,可以使用goto(不推荐),也可以使用do…while(0);保证了只执行一次,可以用break调出循环,后续语句不执行;
do
{
dosomething...;
if(error)
break;
dosomething...;
if(error)
break;
dosomething...;
}
while(0);
网友评论