프로필카테고리질문하기
로그인 계정 만들기

for switch에서 continue가 break처럼 동작합니다

394 개월 전
for($i = 0, $i < 3, $i++) { switch($i) { case 0: case 2: break; case 1: echo ', '; continue; } echo $i; }

예상 출력: 0, 2

실제 출력: 0, 12

음.. 그러니까.. continue가 break처럼 동작하는 이유가 무엇인가요?

답변하기 의견 추가
의견 (0)
더 많은 의견 보기

답글 (1)

PHP는 이상하게도 switch를 루프 구조로 취급해요.

Note: In PHP the switch statement is considered a looping structure for the purposes of continuecontinue behaves like break (when no arguments are passed). If a switch is inside a loop, continue 2 will continue with the next iteration of the outer loop. - PHP 기술문서 - continue

그래서 for 안에 있는 switch에서 for에 continue를 적용하고 싶다면 continue 2 를 써서 두번 continue 해야해요.
for($i = 0, $i < 3, $i++) { switch($i) { case 1: continue 2; } echo $i; }
의견 추가
의견 (0)
더 많은 의견 보기

정보

업보트
1
질문됨
4 개월 전
최근 활동
4 개월 전

카테고리

PHP