안녕하세요! 오늘은 PHP에서 반복문을 자유자재로 다루는 마법 지팡이, break
와 continue
에 대해 함께 알아보는 시간을 가져보려고 해요. 반복문 속에서 흐름을 딱 원하는 대로 제어할 수 있게 도와주는 고마운 친구들이죠. 혹시 반복문 돌리다가 원하는 조건에 맞으면 바로 빠져나가고 싶었던 적 있으셨나요? 아니면 특정 조건일 때는 그냥 넘어가고 싶었던 경험은요? 바로 그럴 때 break
와 continue
가 빛을 발한답니다. PHP break
와 continue
사용법을 제대로 익히면 코딩 실력이 쑥쑥 향상될 거예요. 자, 그럼 지금부터 break
와 continue
의 기본적인 사용법부터 중첩 반복문에서의 활용, 그리고 실제 예시까지 차근차근 살펴보도록 할까요?
break! 마치 긴 터널 속에서 한 줄기 빛을 발견한 것 같은 느낌이 드는 키워드죠? ^^ 프로그래밍, 특히 반복문 속에서 break
는 정말 중요한 역할을 담당해요. 왜냐하면 반복문의 흐름을 제어하는 강력한 도구이기 때문이죠! 마치 롤러코스터를 타다가 “스톱!” 하고 외치는 것과 같은 효과랄까요? 😄
break
는 단어 그대로 반복문을 ‘깨뜨리는’ 역할을 합니다. for, while, do-while, foreach, switch 등 다양한 반복문이나 선택문에서 사용될 수 있어요. break
문을 만나면, PHP 인터프리터는 즉시 현재 실행 중인 반복문이나 switch 문을 탈출하고, 그 다음 문장으로 제어를 넘겨줍니다. 이해하기 쉽도록 몇 가지 예시를 살펴볼까요?
for
문은 정해진 횟수만큼 코드 블록을 반복 실행하는 데 사용됩니다. 만약 반복 횟수가 100번인데, 50번째에 특정 조건을 만족하면 더 이상 반복할 필요가 없다고 가정해 봅시다. 이럴 때 break
가 빛을 발합니다! 🤩
<?php
for ($i = 0; $i < 100; $i++) {
if ($i == 50) {
echo "50에 도달했습니다! 반복문을 종료합니다! 😊";
break; // $i가 50일 때 반복문을 탈출합니다.
}
echo $i . " ";
}
echo "<br>for 문 이후의 코드 실행";
?>
위 코드를 실행하면 0부터 49까지 출력된 후 “50에 도달했습니다! 반복문을 종료합니다! 😊”라는 메시지와 함께 for 문을 벗어나 “for 문 이후의 코드 실행”이 출력될 거예요. break
덕분에 불필요한 51부터 99까지의 반복을 피할 수 있었죠. 효율적이지 않나요? 😏
while
문은 조건이 참인 동안 코드 블록을 반복 실행합니다. 조건이 언제 거짓이 될지 모르는 상황에서 특정 조건을 만족하면 반복을 중단해야 할 때, break
를 사용하면 돼요!
<?php
$i = 0;
while ($i < 100) {
$i++;
if ($i % 7 == 0 && $i > 30) { // $i가 7의 배수이고 30보다 클 때
echo $i . "는 7의 배수이고 30보다 큽니다. 반복문을 종료합니다! 😉<br>";
break;
}
echo $i . " ";
}
echo "while 문 이후의 코드 실행";
?>
이 코드에서는 $i
가 7의 배수이고 30보다 커지는 순간, break
문에 의해 while
문을 탈출하게 됩니다. 조건을 명확하게 설정하고 break
를 활용하면 원하는 시점에 반복문을 종료할 수 있어요. 👍
중첩 반복문이란 반복문 안에 또 다른 반복문이 있는 구조를 말합니다. 이런 경우 break
는 바로 바깥쪽 반복문까지 한 번에 탈출시키는 것이 아니라, 현재 실행 중인 가장 안쪽의 반복문만 탈출시킵니다. 모든 바깥쪽 반복문을 탈출하려면 break 2;
, break 3;
처럼 탈출할 반복문의 깊이를 지정해 주어야 합니다. 마치 계단을 한 칸씩 내려가는 것과 여러 칸을 한 번에 내려가는 것의 차이라고 생각하면 돼요!
<?php
for ($i = 0; $i < 3; $i++) {
for ($j = 0; $j < 3; $j++) {
if ($i == 1 && $j == 1) {
echo "i: " . $i . ", j: " . $j . "에서 break 2를 실행합니다! 😮<br>";
break 2; // 바깥쪽 for 문까지 탈출!
}
echo "i: " . $i . ", j: " . $j . "<br>";
}
}
echo "중첩 for 문 이후의 코드 실행";
?>
이 코드에서는 $i
가 1이고 $j
가 1일 때 break 2;
를 만나 바깥쪽 for
문까지 한 번에 탈출합니다. break
뒤에 숫자를 지정하여 탈출할 반복문의 깊이를 조절할 수 있다는 점, 꼭 기억해 두세요! 😉
break
는 반복문의 흐름을 제어하는 데 매우 유용한 도구예요. 조건에 따라 반복문을 효율적으로 종료할 수 있게 해주죠. 다음에는 continue
에 대해 알아볼 텐데, break
와 비슷하면서도 다른 매력을 가지고 있으니 기대해 주세요! 😊
break가 반복문을 완전히 탈출하는 녀석이라면, continue는 한 사이클만 슝~하고 건너뛰는 재주꾼이에요! 마치 놀이터에서 미끄럼틀 타다가 한 번쯤은 줄 서지 않고 바로 다시 올라가서 타고 싶은 그런 느낌이랄까요? ^^ continue는 현재 진행 중인 반복문의 이터레이션(Iteration)을 중단하고, 다음 이터레이션으로 넘어가게 해줍니다.
자, 예를 들어볼까요? 1부터 10까지 숫자 중 짝수만 출력하고 싶다고 해봅시다. 이때 continue를 사용하면 얼마나 간편해지는지 몰라요!
<?php for ($i = 1; $i <= 10; $i++) { if ($i % 2 != 0) { // 홀수이면 continue; // 다음 반복으로 넘어갑니다! } echo $i . " "; // 짝수만 출력됩니다. } // 출력 결과: 2 4 6 8 10 ?>
위 코드를 보면, $i
가 홀수일 때 continue
문이 실행되는 것을 알 수 있어요. 그럼 홀수는 출력되지 않고 다음 숫자로 넘어가게 되죠! 신기하지 않나요?! 짝수만 깔끔하게 출력되는 마법! 이게 바로 continue
의 매력입니다.
continue
는 for
루프뿐만 아니라 while
, do-while
, foreach
루프에서도 자유자재로 사용할 수 있어요. 어떤 반복문이든 상관없이 현재 이터레이션을 멈추고 다음 이터레이션으로 넘어가는 역할을 충실히 수행한답니다. 마치 훈련된 강아지처럼 말이죠! 🐶
foreach
루프에서 continue
를 사용하는 예시도 살펴볼까요? 과일 바구니에서 사과만 빼고 다른 과일 이름을 출력한다고 생각해 보세요.
<?php $fruits = array("apple", "banana", "orange", "grape", "apple"); foreach ($fruits as $fruit) { if ($fruit == "apple") { continue; // 사과는 건너뛰고! } echo $fruit . " "; } // 출력 결과: banana orange grape ?>
보이시나요? 사과만 쏙~ 빼고 다른 과일들만 출력되었죠? continue
덕분에 원하는 조건에 맞는 이터레이션만 건너뛸 수 있으니 얼마나 편리한지 몰라요! 마치 쇼핑할 때 마음에 안 드는 옷은 쓱~하고 넘기는 것처럼 말이죠!
continue
를 사용할 때 한 가지 주의할 점이 있어요! 바로 무한 루프에 빠지지 않도록 조심해야 한다는 것입니다. continue
를 사용하면 특정 조건에서 반복문의 다음 단계로 넘어가기 때문에, 조건을 잘못 설정하면 의도치 않게 무한 루프에 갇힐 수도 있어요. 마치 뫼비우스의 띠처럼 끝없이 반복되는 거죠! 😱
예를 들어, 아래 코드를 한번 볼까요?
<?php $i = 0; while ($i < 10) { if ($i % 2 == 0) { // 짝수일 때 continue continue; } $i++; // 홀수일 때만 $i 증가 echo $i . " "; } ?>
이 코드에서는 $i
가 짝수일 때 continue
를 실행해서 $i++
부분을 건너뛰게 됩니다. 그런데 $i
값이 0에서 시작해서 짝수일 때만 continue
가 실행되니, $i
값이 증가하지 않고 계속 0으로 남아있게 되죠. 결국 $i < 10
조건을 영원히 만족하게 되어 무한 루프에 빠지게 되는 겁니다! 으악! 무서워라! 👻
그러니 continue
를 사용할 땐 반복문의 조건이 제대로 설정되어 있는지, 무한 루프에 빠질 가능성은 없는지 꼼꼼하게 확인해야 해요! 안전벨트를 매는 것처럼 중요한 부분이랍니다! 🚨
continue
는 반복문 안에서 조건에 따라 특정 이터레이션을 건너뛰고 싶을 때 아주 유용한 도구에요. 마치 요리할 때 특정 재료를 빼고 만드는 것처럼 말이죠! 하지만 무한 루프에 빠지지 않도록 주의해야 한다는 점, 꼭 기억해 주세요! 😉
자, 이제 드디어 중첩 반복문에서 break
와 continue
를 어떻게 사용하는지 알아볼 시간이에요! 중첩 반복문이란 반복문 안에 또 다른 반복문이 있는 구조를 말하는데요, 겹겹이 쌓인 반복문을 제어하려면 break
와 continue
가 정말 큰 도움이 된답니다! 마치 미로 속에서 탈출구를 찾거나, 지름길을 발견하는 것과 같은 느낌이랄까요? ^^
break
는 현재 실행 중인 가장 안쪽 반복문을 완전히 빠져나가는 역할을 해요. 중첩 반복문에서 break
를 사용하면 마치 터널을 뚫고 밖으로 나가는 것처럼, 현재 반복문을 탈출해서 바깥쪽 반복문으로 돌아갈 수 있죠. 반면 continue
는 현재 반복문의 나머지 부분을 건너뛰고 다음 반복으로 넘어가는 역할을 해요. 중첩 반복문에서 continue
는 마치 징검다리를 건너뛰듯이, 현재 반복문의 나머지 부분을 실행하지 않고 다음 반복으로 넘어가게 해준답니다.
이 두 가지 기능의 차이점, 좀 더 자세히 알아볼까요? 예를 들어 3중 반복문이 있다고 생각해 보세요. 가장 바깥쪽 반복문은 10번, 그 안쪽 반복문은 20번, 가장 안쪽 반복문은 30번 반복된다고 가정해 볼게요. 이때 가장 안쪽 반복문에서 break
를 만나면 어떻게 될까요? 가장 안쪽 반복문의 실행이 즉시 중단되고, 그 바깥쪽에 있는 20번 반복하는 반복문으로 돌아가게 됩니다. 마치 30층 건물에서 엘리베이터를 타고 20층으로 바로 내려가는 것과 같아요! 만약 20층에서도 break
를 만난다면? 네, 맞아요! 10번 반복하는 가장 바깥쪽 반복문으로 돌아가겠죠?
반면에 continue
는 어떨까요? 가장 안쪽 반복문에서 continue
를 만나면, 현재 반복만 건너뛰고 다음 반복(30번 반복 중 다음 차례)을 계속해서 실행해요. 30번의 반복이 모두 끝나면 자연스럽게 바깥쪽 20번 반복하는 반복문으로 돌아가게 되고요. 마치 30개의 계단 중 하나를 건너뛰고 다음 계단을 밟는 것과 같죠!
이렇게 break
와 continue
를 적절히 사용하면 복잡한 중첩 반복문도 효율적으로 제어할 수 있어요. 특정 조건을 만족하는 경우 반복문을 완전히 빠져나가거나, 특정 반복만 건너뛰고 싶을 때 정말 유용하게 사용할 수 있답니다. break
와 continue
는 마치 프로그래밍의 마법 지팡이처럼, 복잡한 반복문을 자유자재로 다룰 수 있게 해주는 강력한 도구예요!
자, 그럼 이제 실제 코드 예시를 통해 좀 더 자세히 알아볼까요? 2차원 배열에서 특정 값을 찾는 경우를 생각해 보세요. break
를 사용하면 값을 찾는 즉시 모든 반복문을 빠져나올 수 있고, continue
를 사용하면 특정 값을 제외하고 계속해서 탐색을 진행할 수 있죠. 아래 예시 코드를 한번 살펴보세요~
<?php $matrix = [ [1, 2, 3, 4, 5], [6, 7, 8, 9, 10], [11, 12, 13, 14, 15], [16, 17, 18, 19, 20], ]; $target = 13; // 찾고자 하는 값 $found = false; for ($i = 0; $i < count($matrix); $i++) { for ($j = 0; $j < count($matrix[$i]); $j++) { if ($matrix[$i][$j] == $target) { $found = true; echo "값 {$target}을 찾았습니다! 위치: ({$i}, {$j})\n"; break 2; // 값을 찾으면 바깥쪽 반복문까지 모두 빠져나감 } if ($matrix[$i][$j] % 2 == 0) { // 짝수는 건너뜀 continue; } echo "현재 값: {$matrix[$i][$j]}\n"; } } if (!$found) { echo "값 {$target}을 찾지 못했습니다.\n"; } ?>
위 코드에서 break 2
는 바깥쪽 반복문까지 한 번에 빠져나가는 것을 의미해요. 숫자 2는 두 단계의 반복문을 빠져나가라는 의미죠! continue
는 짝수를 만나면 해당 반복만 건너뛰고 다음 숫자를 확인하게 해준답니다. 이처럼 break
와 continue
를 활용하면 중첩 반복문을 상황에 맞게 효율적으로 제어할 수 있어요! 정말 편리하지 않나요? 다음에는 더욱 흥미로운 내용으로 찾아올게요! 기대해 주세요~?
휴~, 드디어 이론적인 부분은 다 살펴봤네요! 이제부터 진짜 재미있는 부분, 실제 활용 예시를 함께 파헤쳐 볼까요? ^^ 이론만으론 감이 잘 안 잡히셨던 분들도 많으셨을 텐데, 이제 실제 코드를 보면서 break
와 continue
가 어떻게 멋지게 활용되는지 꼼꼼하게 알아보도록 하겠습니다! 준비되셨나요?! 자, 그럼 출발~!!
1부터 100까지의 숫자 중에서 7의 배수이면서 3으로 나눴을 때 나머지가 2인 숫자를 찾는다고 가정해 봅시다. 이때 break
를 활용하면 원하는 숫자를 찾는 즉시 반복문을 종료할 수 있겠죠?
“;
break; // 숫자를 찾으면 반복문 종료!
}
}
?>
이 코드에서는 break
덕분에 원하는 숫자를 찾자마자 반복문을 탈출해서 효율성을 높였어요! 만약 break
가 없었다면 100까지 계속해서 불필요한 연산을 수행했겠죠? 상상만 해도 아찔하네요~?
사용자로부터 입력받은 값이 특정 조건을 만족하는지 검증하고, 조건을 만족하지 않으면 에러 메시지를 출력하고 처리를 중단해야 하는 경우가 종종 있죠. 이럴 때 break
를 활용하면 깔끔하게 처리할 수 있습니다.
“;
break; // 유효하지 않은 입력이면 더 이상 진행하지 않고 중단!
}
// 유효한 입력일 경우에만 실행되는 영역
echo “유효한 입력입니다. : ” . $input . “
“;
?>
break
덕분에 잘못된 입력값에 대한 추가적인 처리를 막을 수 있어서 정말 편리해요! 코드도 훨씬 간결해지고요!
이번엔 continue
의 활용 예시를 살펴볼게요! 구구단 2단부터 9단까지 출력하는데, 짝수 단만 출력하고 싶다고 가정해 봅시다. continue
를 사용하면 홀수 단은 건너뛰고 짝수 단만 출력할 수 있겠죠?!
“;
for ($j = 1; $j “;
}
echo “
“;
}
?>
continue
덕분에 홀수 단은 깔끔하게 건너뛰고 짝수 단만 출력할 수 있었죠? 만약 continue
가 없었다면, 홀수 단인 경우에도 내부 반복문이 실행되어 불필요한 출력이 발생했을 거예요.
대량의 데이터를 처리할 때 특정 조건을 만족하는 데이터는 제외하고 처리해야 하는 경우가 많습니다. 예를 들어, 쇼핑몰에서 특정 카테고리의 상품을 제외하고 목록을 출력한다고 생각해 보세요. 이때 continue
를 사용하면 특정 카테고리의 상품을 제외하고 나머지 상품 정보만 출력할 수 있겠죠?
“티셔츠”, “category” => “의류”],
[“name” => “바지”, “category” => “의류”],
[“name” => “노트북”, “category” => “전자제품”],
[“name” => “스마트폰”, “category” => “전자제품”],
[“name” => “책”, “category” => “도서”],
];
foreach ($products as $product) {
if ($product[“category”] == “전자제품”) { // 전자제품 카테고리 제외
continue; // 현재 상품을 건너뛰고 다음 상품으로!
}
echo $product[“name”] . “
“;
}
?>
continue
를 사용하여 특정 카테고리의 상품을 제외하는 방식은 코드를 간결하게 유지하면서 원하는 결과를 얻을 수 있는 효율적인 방법입니다. 실제로 다양한 상황에서 응용할 수 있으니 꼭 기억해 두세요! 이처럼 break
와 continue
는 반복문 안에서 조건에 따라 흐름을 제어하는 강력한 도구예요! 적재적소에 활용하면 코드의 효율성과 가독성을 높일 수 있답니다! 여러분도 다양한 상황에 적용해보면서 break
와 continue
의 매력에 푹 빠져보세요~!
자, 이제 PHP에서 `break`와 `continue`를 어떻게 활용하는지 감이 좀 잡히셨나요? 반복문 안에서 이 작은 친구들이 얼마나 큰 역할을 하는지 알게 되셨을 거예요. 복잡한 코드를 훨씬 간결하고 효율적으로 만들어주는 마법같은 기능이죠! 처음엔 헷갈릴 수 있지만, 몇 번 연습하다 보면 여러분도 금방 익숙해질 수 있답니다. 다양한 상황에 적용해보면서 여러분의 코딩 실력을 한 단계 업그레이드 시켜보세요! 더 궁금한 점이 있다면 언제든 질문해주세요. 함께 PHP 마스터가 되는 그날까지, 즐겁게 코딩해봐요!
안녕하세요! 오늘은 우리가 소중하게 구축한 시스템의 안전을 책임지는 든든한 보디가드, 바로 방화벽에 대해 이야기해보려고 해요.…
This website uses cookies.