web-dev-qa-db-ja.com

スイッチ、複数のケースで同じ値

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';
}

最初の3つのケースを短縮する方法はありますか?

それらは内部で同じ値を持っています。

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

うん、あります。 breakの後にcaseがない場合は、次のcaseの下のコードも実行されます。

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