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