소개
이동 문은 프로그램의 흐름을 코드의 특정 위치로 보내는 데 사용됩니다. 위치는 사용자 정의 레이블로 지정됩니다. 일반적으로 goto 문은 if, else 또는 case(switch 구문에서)와 같은 조건식의 일부로 스크립트에 나타납니다.
구문
statement1; statement2; if (expression) goto label1; statement3; label1: statement4;
statement2 이후에 if 문의 일부로 표현식이 참이면 프로그램 흐름이 label1으로 이동합니다. . true가 아니면 statement3이 실행됩니다. 이후 프로그램은 정상적인 흐름으로 계속됩니다.
다음 예에서 사용자가 입력한 숫자가 짝수이면 프로그램은 지정된 레이블로 점프합니다.
예시
<?php $x=(int)readline("enter a number"); if ($x%2==0) goto abc; echo "x is an odd number"; return; abc: echo "x is an even number"; ?>
출력
이것은 다음 결과를 생성합니다 -
x is an even number
goto 키워드 앞의 레이블은 현재 명령문 앞이나 뒤에 나타날 수 있습니다. goto 문의 레이블이 이전 문을 식별하는 경우 루프를 구성합니다.
다음 예는 goto 문으로 구성된 루프를 보여줍니다.
예시
<?php $x=0; start: $x++; echo "x=$x\n"; if ($x<5) goto start; ?>
출력
이것은 다음 결과를 생성합니다 -
x=1 x=2 x=3 x=4 x=5
goto를 사용하여 프로그램 제어는 명명된 위치로 이동할 수 있습니다. 단, 루프 중간에 점프하는 것은 허용되지 않습니다.
예시
<?php for ($x=1; $x<=5; $x++){ if (x==3) goto inloop; for ($y=1;$y<=5; $y++){ inloop: echo "x=$x y=$y\n"; } } ?>
출력
이것은 다음 결과를 생성합니다 -
PHP Fatal error: 'goto' into loop or switch statement is disallowed in line 5