我今天一直在研究一些PHP代码,我注意到使用do-while而不是if-else。它的优点是什么?代码可读性?速度?还有什么吗?
答案 0 :(得分:10)
我认为你的意思是:
do {
...
if ($foo == $bar) break;
...
} while (false);
这只是一种跳过一段代码而没有嵌套正常if if语句的方法。 break语句用作goto语句,以转到while循环的末尾。整个部分包含在一个do-while-false循环中,以便它执行一次并允许break语句。
答案 1 :(得分:2)
do / while循环保证do / while的主体至少执行一次,然后检查循环条件。
另一方面,if
保证在条件失败时代码根本不会执行。
在内部,除了检查循环条件的点之外,它们没有区别。
答案 2 :(得分:0)
if / else更适合检查一个或多个逻辑条件而不需要循环或递归 -
do / while更适合迭代数据或数据组,直到达到所需的结果。
如果您要使用break语句,则取决于您是否需要以递归方式执行操作 - 否则,如果/ else可能更适合。