다양한 반복문 프로그램을 코딩 하다 보면 어떠한 조건이 오면 해당 반복문에서 빠저 나와야 하는 경우가 있다.
이런 경우 break문과 continue문을 사용한다.
일단 아래의 기본 설명을 확인 후 좀더 활용성 부분을 설명 하겠다.
break문
(PHP 4, PHP 5, PHP 7)
break현재의 실행을 종료한다 for, foreach, while, do-while또는 switch구조.
break는 몇 개의 중첩 된 둘러싸는 구조가 분리되어야 하는지를 알려주는 선택적 숫자 인수를 허용합니다. 기본값은 1이며 즉시 둘러싸는 구조 만 분리됩니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | <?php $arr = array('one', 'two', 'three', 'four', 'stop', 'five'); foreach ($arr as $val) { if ($val == 'stop') { break; /* You could also write 'break 1;' here. */ } echo "$val<br />\n"; } /* Using the optional argument. */ $i = 0; while (++$i) { switch ($i) { case 5: echo "At 5<br />\n"; break 1; /* Exit only the switch. */ case 10: echo "At 10; quitting<br />\n"; break 2; /* Exit the switch and the while. */ default: break; } } ?> | cs |
continue문
(PHP 4, PHP 5, PHP 7)
continue 루프 구조 내에서 나머지 현재 루프 반복을 건너 뛰고 조건 평가에서 실행을 계속 한 다음 다음 반복의 시작에 사용됩니다.
참고 : PHP에서 switch 문은 목적을 위해 루프 구조로 간주됩니다 continue. (인수가 전달되지 않은 경우) continue처럼 동작 break하지만 실수 일 가능성이 있으므로 경고를 발생시킵니다. a switch가 루프 내부에 있으면 continue 2외부 루프의 다음 반복을 계속합니다.
continue끝까지 건너 뛰어야하는 둘러싸는 루프의 수준을 알려주는 선택적 숫자 인수를 허용합니다. 기본값은 1이므로 현재 루프의 끝으로 건너 뜁니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | <?php foreach ($arr as $key => $value) { if (!($key % 2)) { // skip even members continue; } do_something_odd($value); } $i = 0; while ($i++ < 5) { echo "Outer<br />\n"; while (1) { echo "Middle<br />\n"; while (1) { echo "Inner<br />\n"; continue 3; } echo "This never gets output.<br />\n"; } echo "Neither does this.<br />\n"; } ?> | cs |