我在想,如果有一種方法在一個case語句來評估OR,如:
或操作員在PHP案例
case 0 || 3:
echo "equal to 0 or 3!";
break;
我試過||一段時間後,它似乎並沒有爲我工作,谷歌沒有證明有幫助。
我只是想知道這一點,因爲有一些情況下,或案例中的操作員會非常有用...
任何幫助表示讚賞。
我在想,如果有一種方法在一個case語句來評估OR,如:
或操作員在PHP案例
case 0 || 3:
echo "equal to 0 or 3!";
break;
我試過||一段時間後,它似乎並沒有爲我工作,谷歌沒有證明有幫助。
我只是想知道這一點,因爲有一些情況下,或案例中的操作員會非常有用...
任何幫助表示讚賞。
當與解析爲布爾邏輯和比較操作時,您可以使用switch(true)
(還是真的,任何「真」值,由於與switch
檢查不嚴格)的情況下,您想第一true
的情況。
switch(true){
case ($foo >= 0):
break;
case ($bar <= 0):
break;
case ($baz == 0):
break;
case ($foo > $bar && $bar < $baz):
break;
default:
break;
}
但是,有些語法替代方法可能會證明更具可讀性,或提供更多控制。
正如@alex指出的那樣,如果您希望多個案例解析爲相同的代碼塊,您可以將它們堆疊起來讓它們通過。
您可以讓案件落空。
case 0:
case 3:
echo "equal to 0 or 3!";
break;
許多風格指南不建議這樣做。
很多風格指南都是錯誤的,那麼,關於*這個具體案例*。但總的來說,利用突破使得事情變得更難以遵循。如果你在兩種情況之間有任何東西(沒有「休息」),請立即悔過。 :) – cHao 2012-04-26 03:48:32