source

다중 케이스 스테이트먼트 전환

bestscript 2022. 12. 24. 20:35

다중 케이스 스테이트먼트 전환

아래 코드를 대체하려면 어떻게 해야 할까요?

블록의 반복을 피하기 위해 코드를 다시 작성하려면 어떻게 해야 합니까?case 3:{code block A; break;}?

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

케이스 1과 케이스 3의 코드를 조합하는 방법은 무엇입니까?

다음 형식은 PHP 문서에 나와 있습니다.

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

2021년 4월 19일 편집:

PHP8 및 새로운 버전 출시와 함께match이 기능은 종종 사용하는 데 더 나은 솔루션입니다.match대신switch.

위의 예에서는 다음 예와 동등합니다.match다음과 같습니다.

$matchResult = match($i) {
    1, 3    => // code block A
    2       => // code block B
    default => // code block default
}

match문이 더 짧고 중단이 필요하지 않으며 값을 반환하므로 값을 여러 번 할당할 필요가 없습니다.

게다가.match마치 하는 것처럼 행동할 것이다===대신==이것은 아마 논의의 대상이 될 것입니다만, 그것이 바로 그것입니다.

뭐 이런 거

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

    case 2:  {code block b; break;}

    default: {code block default; break;}
}

뭐랄까

    $i = 10;
    switch($i){
        case $i == 1 || $i > 3:
            echo "working";
            break;
        case 2:
            echo "i = 2";
            break;
        default: 
          echo "i = $i";
          break;
    }

언급URL : https://stackoverflow.com/questions/22074104/switch-multiple-case-statement