我試圖重寫一個條件來刪除{ .. }
語句(以使代碼縮進)。逆向條件
目前我有:
while($something){
if((strcasecmp($str1, $str2) === 0)
|| (isset($arr[0]) && strcasecmp($str3, $str4) === 0)){
// a lot of code here...
break;
}
}
隨着相逆的IF條件就應該是這樣的:
while($something){
if((strcasecmp($str1, $str2) !== 0)
&& (empty($arr[0]) && strcasecmp($str3, $str4) !== 0))
continue;
// a lot of code here...
break;
}
但它不工作。我的代碼和break語句在不應該的時候被執行。
我在這裏做錯了什麼。
我誠實地不會重構你的代碼來擺脫'{..}'。重構它是否會導致問題,如果它增加可讀性等,但在這種情況下並不適用。 – 2012-07-26 13:14:51
一個簡單的方法來獲得反轉條件是做'!(oldconditions)' – Esailija 2012-07-26 13:14:55
'break'有什麼好處?據我所見,while($ x){/*..*/ break; }'和'if($ x){/*..*/}'是一樣的:? – KingCrunch 2012-07-26 13:15:00