Переключатель, то же значение для нескольких случаев - PullRequest
18 голосов
/ 02 сентября 2010
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';
}

Можно ли сократить первые три случая?

Они имеют одинаковые значения внутри.

Ответы [ 2 ]

84 голосов
/ 02 сентября 2010
switch ($i) {
    case A:
    case B:
    case C:
        $letter = 'first';
        break;
    case D:
        $letter = 'second';
        break;
    default:
        $letter = 'third';
}

Да, есть.Если после case нет break, выполняется код под следующим case.

8 голосов
/ 02 сентября 2010
switch ($i) {
    case A:
    case B:
    case C:
        $letter = 'first';
        break;
    case D:
        $letter = 'second';
        break;
    default:
        $letter = 'third';
}
...