2010-09-02 11 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'; 
} 

Gibt es irgendeine Möglichkeit, die ersten drei Fälle zu verkürzen?Schalter, gleicher Wert für Mehrfachfall

Sie haben die gleichen Werte innerhalb.

Antwort

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

Yep ist. Wenn es keine break nach einer case gibt, wird der Code unter der nächsten case auch ausgeführt.

+5

+1, weil Sie erklärt haben, warum es funktioniert. – villecoder

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