PHP의 continue 문은 반복문에서 사용되며, 현재 반복을 건너뛰고 다음 반복으로 즉시 이동하게 합니다. 주로 특정 조건을 충족하는 경우에만 반복문의 나머지 코드를 건너뛰고 다음 반복으로 진행할 때 유용합니다.
continue 문법
continue;
continue <level>;
- continue;: 현재 반복을 종료하고 다음 반복으로 이동.
- continue <level>;: 중첩된 반복문에서 몇 단계 위의 반복문으로 이동할지 지정.
기본값은 1이며, 즉 현재 반복문을 가리킵니다.
예제와 설명
1. 기본 사용 예제
<?php
for ($i = 1; $i <= 5; $i++) {
if ($i == 3) {
continue; // 3일 때 현재 반복 건너뛰기
}
echo "숫자: $i<br>";
}
?>
결과:
숫자: 1
숫자: 2
숫자: 4
숫자: 5
설명:
$i가 3일 때 continue가 실행되어 반복문의 나머지 코드가 건너뛰어지고 다음 반복으로 진행됩니다.
2. continue와 foreach 사용
<?php
$numbers = [1, 2, 3, 4, 5];
foreach ($numbers as $number) {
if ($number % 2 == 0) { // 짝수인 경우 건너뛰기
continue;
}
echo "홀수: $number<br>";
}
?>
결과:
홀수: 1
홀수: 3
홀수: 5
설명:
짝수 조건을 만족하면 continue가 실행되어 나머지 코드를 건너뛰고 다음 요소로 이동합니다.
3. 중첩 반복문에서 continue 사용
<?php
for ($i = 1; $i <= 3; $i++) {
for ($j = 1; $j <= 3; $j++) {
if ($i == $j) {
continue; // 현재 반복 건너뛰기
}
echo "i = $i, j = $j<br>";
}
}
?>
결과:
i = 1, j = 2
i = 1, j = 3
i = 2, j = 1
i = 2, j = 3
i = 3, j = 1
i = 3, j = 2
설명:
$i와 $j가 같을 때 continue가 실행되어 안쪽 루프(for $j)의 나머지 코드가 건너뛰어지고 다음 반복으로 진행됩니다.
4. continue와 레벨 지정
continue에 숫자를 지정하면 중첩된 루프에서 몇 단계 위의 루프를 건너뛸지 제어할 수 있습니다.
<?php
for ($i = 1; $i <= 3; $i++) {
for ($j = 1; $j <= 3; $j++) {
if ($j == 2) {
continue 2; // 바깥 루프($i)의 다음 반복으로 이동
}
echo "i = $i, j = $j<br>";
}
}
?>
결과:
i = 1, j = 1
i = 2, j = 1
i = 3, j = 1
설명:
continue 2;가 실행되면 현재 반복문(for $j)뿐만 아니라 바깥 루프(for $i)의 다음 반복으로 즉시 이동합니다.
5. continue와 조건문
continue는 if와 함께 사용되어 조건에 따라 특정 코드를 건너뛸 수 있습니다.
<?php
for ($i = 1; $i <= 5; $i++) {
if ($i % 2 == 0) {
echo "$i는 짝수이므로 건너뛰기<br>";
continue;
}
echo "$i는 홀수입니다.<br>";
}
?>
결과:
1는 홀수입니다.
2는 짝수이므로 건너뛰기
3는 홀수입니다.
4는 짝수이므로 건너뛰기
5는 홀수입니다.
continue와 비교: break
- continue: 현재 반복을 건너뛰고 다음 반복으로 이동합니다.
- break: 현재 반복문(또는 지정된 레벨)을 완전히 종료합니다.
사용 시 주의점
1. 가독성 저하 가능
- 반복문이 복잡한 경우 continue 사용은 흐름을 이해하기 어렵게 만들 수 있습니다.
- 간단한 조건문으로 대체할 수 있으면 continue를 피하는 것이 좋습니다.
2. 레벨 지정 남용 주의
continue <level>로 너무 높은 레벨을 지정하면 코드가 예상치 못한 방식으로 작동할 수 있습니다.
PHP의 continue 문은 조건부로 반복을 건너뛰는 간결하고 강력한 방법을 제공합니다. 단, 지나치게 복잡한 반복문에서 남용하지 않도록 신중히 사용하세요!
With ChatGPT
'PHP > 포스팅' 카테고리의 다른 글
[PHP] exit 제어문 (0) | 2024.11.29 |
---|---|
[PHP] break 제어문 (0) | 2024.11.29 |
[PHP] goto 제어문 (0) | 2024.11.29 |
[PHP] match 제어문 (0) | 2024.11.28 |
[PHP] foreach 반복문 (0) | 2024.11.28 |