2016-03-06 43 views
-1

我正在为我的客户开发一个库存系统,而且我必须决定是否使用break 2;或让嵌套循环继续运行。我的客户告诉我他们要我优先考虑性能和可靠性。我已经到了一个嵌套的循环,我可以突破它,或者让它运行其余的漫长的过程。我知道像break 2;这样的东西往往是不可靠的,但根据数据库中有多少项目,让循环完成它的过程可能真的会削弱软件的性能方面。你认为我应该选择哪个选项?在这种情况下哪个更好:性能还是可靠性?

下面是实际的PHP代码,如果你有兴趣:

$json = json_read(); 
    $bool = false; 
    foreach($json as $key => $value) { 
     foreach($value as $v) { 
      if($v == $id) { 
       $bool = true; 
       //break 2 OR Nothing 
      } 
     } 
    } 
    if(!$bool) { 
     return null; 
    } 
+2

你为什么认为'break 2;'是不可靠的? – RiggsFolly

+0

@RiggsFolly根据我的经验,它经常会导致更难以调试错误,其原因与goto相同(尽管它不是'goto',否则这甚至不是问题)。也许这只是因为我是一个noob开发者? –

+1

我总是说,无论需要多长时间,都不要退出跑步循环。长度是可靠性的标志。 – Ray

回答

0

(谢谢@deceze此答案) 如果你只是打破了内部foreach循环,然后使用if语句要摆脱第二个foreach循环,你可以一起避免break 2;

相关问题