2012-03-23 307 views
0

我有這樣的代碼:break;不能正常工作

foreach ($items as $key=>$value) { 

    if (strpos(strtolower($key), $text) !== false) { 
      array_push($result, array("id"=>$value, "label"=>$key, "value"=>strip_tags($key))); 
    } 
    if (count($result) > 2) 
     break;    
} 

break語句不工作,所以我獲得超過2項。 但是,如果我改變了休息時間;到

die('results more than 2'); 

這表明它的正常工作。

我正確使用break語句嗎?

+0

更多少那麼雙?因爲從看它,我希望$結果包含3項。是的,你正在正確使用中斷。 – Benubird 2012-03-23 14:39:38

+0

當$ result包含3個或更多itens('> 2')時,您的當前代碼將會中斷。你想讓它完全分裂爲2嗎?然後使用'== 2'或'> 1'。 – bfavaretto 2012-03-23 14:39:53

回答

9

當然,你會得到超過2項。你說if count($result) > 2而不是>= 2 所以當你有超過2個結果時,它會中斷。

1

如果你breakif (count($result) > 2)當然你會有超過2項。 如果你想只有兩種,只要使用if (count($result) >= 2)

1

應用並測試結果:

if (count($result) >= 2) break;