2010-09-02 101 views
14
switch ($i) { 
    case A: 
     $letter = 'first'; 
     break; 
    case B: 
     $letter = 'first'; 
     break; 
    case C: 
     $letter = 'first'; 
     break; 
    case D: 
     $letter = 'second'; 
     break; 
    default: 
     $letter = 'third'; 
} 

有沒有辦法縮短前三種情況?開關,對於多種情況下的相同值

它們內部具有相同的值。

回答

73
switch ($i) { 
    case A: 
    case B: 
    case C: 
     $letter = 'first'; 
     break; 
    case D: 
     $letter = 'second'; 
     break; 
    default: 
     $letter = 'third'; 
} 

沒錯存在。如果case之後沒有break,則執行下一個case以下的代碼。

+5

+1,因爲你已經解釋了它的工作原理。 – villecoder 2010-09-02 16:26:22

7
switch ($i) { 
    case A: 
    case B: 
    case C: 
     $letter = 'first'; 
     break; 
    case D: 
     $letter = 'second'; 
     break; 
    default: 
     $letter = 'third'; 
}