먼저 switch() 문의 형식에 대해 이야기해 보겠습니다
스위치(표현식){
사례 일치 1:
일치 1과 표현식이 일치할 때 코드가 성공적으로 실행되었습니다.
휴식;
사례 일치 2:
일치 2와 표현식이 일치할 때 코드가 성공적으로 실행되었습니다.
휴식;
기본값:
case 문이 표현식과 성공적으로 일치하지 않는 경우 실행될 코드;
}
스위치가 어떻게 실행되는지 이해하는 것이 매우 중요합니다. 스위치 문은 한 줄씩(실제로는 문별로) 실행됩니다. 처음에는 코드가 실행되지 않습니다. PHP는 Case 문의 값이 스위치 표현식의 값과 일치하는 경우에만 명령문 실행을 시작하고 스위치 블록이 끝날 때까지 또는 첫 번째 break 문을 만날 때까지 계속됩니다. 케이스의 명령문 세그먼트 끝에 break를 쓰지 않으면 PHP는 다음 케이스에서 명령문 세그먼트를 계속 실행합니다.
예:
<?php switch($i){ case 1: echo "$i的值是1"; break; case 2: echo "$i的值是2"; break; case 3: echo "$i的值是3"; break; default: echo "$i的值不是1、2、3"; } ?>
한 사례의 문은 비어 있을 수도 있습니다. 이는 다음 사례의 문 블록이 비어 있지 않을 때까지만 제어를 다음 사례의 문으로 전달합니다. 이렇게 하면 여러 값 일치 및 일치 코드 블록이 달성됩니다.
$i의 값이 1, 2, 3인 경우에도 동일한 명령문이 출력됩니다.
<?php switch($i){ case 1: case 2: case 3: echo "$i的值为$i的值为1或2或3"; break; } ?>