continue 문
Coddy PHP 여정의 기초 섹션에 포함된 레슨 — 71개 중 52번째.
break는 루프를 완전히 종료하지만, 때로는 현재 반복만 건너뛰고 다음 반복으로 넘어가고 싶을 때가 있습니다. 이것이 바로 continue 문이 하는 일입니다.
PHP가 continue를 만나면, 현재 반복의 나머지 코드를 건너뛰고 루프의 다음 반복으로 즉시 이동합니다.
<?php
for ($i = 1; $i <= 5; $i++) {
if ($i === 3) {
continue;
}
echo $i . "\n";
}
?>다음과 같이 출력됩니다:
1
2
4
53이 누락된 것을 확인할 수 있습니다. $i가 3과 같을 때, continue 문은 echo를 건너뛰고 $i가 4가 되는 다음 반복으로 직접 이동합니다.
배열을 처리하는 동안 원하지 않는 값을 필터링하는 것이 일반적인 사용 사례입니다:
<?php
$numbers = [10, -5, 8, -3, 12];
foreach ($numbers as $num) {
if ($num < 0) {
continue;
}
echo $num . "\n";
}
?>이것은 양수인 숫자들만 출력합니다: 10, 8, 그리고 12. 음수 값들은 건너뛰지만, 루프는 모든 요소를 계속 순회합니다.
주요 차이점: break은 루프를 완전히 중단시키고, continue는 다음 반복으로만 건너뜁니다.
챌린지
쉬움두 줄의 입력을 읽으세요:
- 정수들의 쉼표로 구분된 목록 (예:
3,7,12,5,8,20,15) - 나눗수 숫자
foreach 루프를 사용하여 배열을 반복하세요. 주어진 나눗수로 나누어 떨어지는 숫자들은 continue를 사용하여 건너뛰세요. 나머지 숫자들은 각 줄에 하나씩 출력하세요.
예제 1:
입력값이 1,2,3,4,5,6,7,8,9,10와 3인 경우, 출력은 다음과 같아야 합니다:
1
2
4
5
7
8
10(3, 6, 9는 3으로 나누어 떨어지므로 건너뜀)
예제 2:
입력값이 10,15,20,25,30와 5인 경우, 출력은 다음과 같아야 합니다:
(모든 숫자가 5로 나누어 떨어지므로 아무것도 출력되지 않음)
예제 3:
입력값이 7,14,21,10,5와 7인 경우, 출력은 다음과 같아야 합니다:
10
5치트 시트
continue 문은 루프의 현재 반복을 건너뛰고 다음 반복으로 이동하며, 루프를 완전히 종료하지 않습니다.
for 루프를 사용한 기본 예제:
<?php
for ($i = 1; $i <= 5; $i++) {
if ($i === 3) {
continue;
}
echo $i . "\n";
}
?>이것은 1, 2, 4, 5를 출력합니다 (3은 건너뜀).
continue를 foreach와 함께 사용하여 배열 값을 필터링:
<?php
$numbers = [10, -5, 8, -3, 12];
foreach ($numbers as $num) {
if ($num < 0) {
continue;
}
echo $num . "\n";
}
?>이것은 양수(10, 8, 12)만 출력하며, 음수 값은 건너뜁니다.
주요 차이점: break는 루프를 완전히 종료하지만, continue는 다음 반복으로만 건너뜁니다.
직접 해보기
<?php
// 입력 읽기
$input = trim(fgets(STDIN));
$divisor = intval(trim(fgets(STDIN)));
// 쉼표로 구분된 문자열을 정수 배열로 변환
$numbers = array_map('intval', explode(',', $input));
// TODO: 아래에 코드 작성
// foreach 루프를 사용해 $numbers를 반복
// continue를 사용해 $divisor로 나누어 떨어지는 숫자 건너뛰기
// 나머지 모든 숫자를 각 줄에 하나씩 출력
?>이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
기초의 모든 레슨
4Comparison & Logical Operators
Comparison OperatorsEquality & IdentityLogical Operators Part 1Logical Operators Part 2Recap - Simple Logic2Variables and Data Types
NumbersStrings and QuotesBooleansNaming ConventionsRecap - Variable InitEmpty VariablesString ConcatenationGetting User InputCast to Different Types3Basic Operators
Arithmetic OperatorsModulo OperatorExponentiation OperatorCombined AssignmentIncrement/DecrementOperator PrecedenceRecap - Simple CalculationsString Operators