2016-03-06 72 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;

相關問題