2014-02-27 112 views
28

有人建議我怎麼能代替下面的代碼 如何重寫代碼,以避免塊case 3:{code block A; break;}PHP - 切換多個case語句

`

switch(i){ 
    case 1:{code block A; break;} 
    case 2:{code block b; break;} 
    case 3:{code block A; break;} 
    default: {code block default; break;} 
} 

`

的repeatation

如何對殼體1 &的情況下合併的代碼3

回答

82
switch (i) { 
    case 1: 
    case 3: 
     code block A; 
     break; 
    case 2: 
     code block B; 
     break; 
    default: 
     code block default; 
     break; 
} 
+0

這工作得很好;謝謝..這是一個標準格式? –

+1

正如PHP文件提到這種格式,我認爲它是:http://www.php.net/manual/en/control-structures.switch.php –

+1

是的,這是幾乎所有語言的標準模式,支持'開關 - 外殼「。當你通過一個案例進入下一個案例時,它被稱爲「fallthrough」。這就是爲什麼你在那裏打電話給'break',以防止它通過你不想要的地方掉下來。 – ChristianF

6

這樣的東西

switch(i){ 
    case 1: 
    case 3:{code block A; break;} 
    case 2:{code block b; break;} 
    default: {code block default; break;} 
}