안녕하세요! 가족과 함께하는 스마트 라이프입니다. 지난 시간에는 상자 안에 상자가 든 ‘다차원 배열’을 배웠죠? 오늘은 그 수많은 상자들을 하나하나 열어보지 않고, 마법 지팡이를 한 번 휘둘러서 한꺼번에 정리하는 ‘중첩 반복문’ 마법을 배워보겠습니다. 구구단표도 1초 만에 뚝딱 만들 수 있는 아주 강력한 마법이랍니다!

1. 반복문 안에 반복문이? ‘중첩 반복문’
우리가 아파트의 모든 창문을 닦아야 한다고 생각해 보세요. ‘1층의 1호, 2호, 3호…’를 닦고 나면, 다시 ‘2층의 1호, 2호, 3호…’를 닦아야 하죠? 이렇게 층을 올라가는 바깥쪽 반복문과 그 층의 방을 하나씩 방문하는 안쪽 반복문이 합쳐진 것을 중첩 반복문이라고 해요.
<?php
// 1층부터 3층까지 올라가요 (바깥쪽)
for ($floor = 1; $floor <= 3; $floor++) {
echo "--- " . $floor . "층 청소 시작! ---<br>";
// 각 층의 1호부터 2호까지 방문해요 (안쪽)
for ($room = 1; $room <= 2; $room++) {
echo $floor . "층 " . $room . "호 창문을 닦았어요! ✨<br>";
}
}
?>
2. 마법으로 구구단 만들기
중첩 반복문을 가장 잘 보여주는 예시는 바로 구구단이에요. 2단부터 9단까지(바깥쪽), 그리고 각 단의 1부터 9까지(안쪽) 곱해주면 순식간에 구구단표가 완성됩니다.
<?php
for ($dan = 2; $dan <= 9; $dan++) {
echo "<strong>" . $dan . "단 출발!</strong><br>";
for ($i = 1; $i <= 9; $i++) {
echo $dan . " x " . $i . " = " . ($dan * $i) . "<br>";
}
echo "<br>";
}
?>
3. 어지러워도 괜찮아요!
처음에는 바깥쪽과 안쪽이 섞여서 머리가 핑글핑글 돌 수도 있어요. 하지만 원리만 기억하세요! “바깥쪽이 한 번 움직일 때, 안쪽은 처음부터 끝까지 다 움직인다!”는 사실요. 시계의 분침이 한 바퀴(60분) 다 돌아야 시침이 겨우 한 칸 움직이는 것과 똑같답니다.

4. 생활 속의 중첩 반복문: 달력 보기
우리가 보는 달력도 중첩 반복문의 모습이에요. 1월부터 12월까지(바깥쪽) 있고, 각 월 안에는 1일부터 31일까지(안쪽) 날짜들이 들어있죠. 아이와 함께 달력을 보면서 “지금 바깥쪽 반복문은 몇 번째(월)에 와 있을까?”라고 퀴즈를 내며 컴퓨터처럼 생각하는 법을 연습해 보세요.
마치며: 복잡한 세상을 규칙으로 다스리는 힘
중첩 반복문을 이해했다면 여러분은 이제 수천, 수만 개의 데이터도 겁내지 않는 마법사가 된 것입니다. 복잡해 보이는 일도 작은 규칙들로 나누어 생각하면 코딩 한 줄로 해결할 수 있거든요. 오늘 배운 구구단 마법을 직접 실행해 보며 나만의 예쁜 표를 만들어 보세요! 다음 시간에는 드디어 데이터의 흐름을 제어하는 더 정교한 마법으로 만나요!



