학습
PHP 반복문 (for, while)
PHP 반복문 (for, while) — 초급
반복문 (for, while)
1. 도입 (왜 배워야 하는가)
반복문은 프로그래밍에서 매우 중요한 역할을 합니다. 실제 업무에서는 수많은 데이터를 처리하거나, 반복적인 작업을 자동화해야 할 때가 많습니다. 예를 들어, 쇼핑몰 웹사이트에서 각 상품의 가격을 할인하거나, 사용자에게 알림 메일을 보내는 경우 등에서 반복문이 필요합니다. 만약 반복문을 모른다면, 이런 작업들을 수동으로 처리해야 하므로 시간과 노력이 비효율적으로 낭비될 수 있습니다. 따라서 반복문을 잘 활용하는 것은 프로그래머에게 필수적인 능력입니다.
2. 핵심 개념 설명
2.1. for 문
for문은 특정 조건을 만족하는 동안 반복 작업을 수행합니다. 예를 들어, 1부터 10까지의 숫자를 출력할 때 유용합니다. 마치 매일 아침 알람이 울리면 일어나는 것과 비슷합니다.
2.2. while 문
while문은 조건이 참인 동안 반복을 계속합니다. 예를 들어, 자판기에서 원하는 음료가 나올 때까지 버튼을 누르는 상황으로 비유할 수 있습니다. 원하는 음료가 나오기 전까지 계속 버튼을 누르는 것이죠.
2.3. 용어 정리
| 용어 | 설명 |
|---|---|
| 반복문 | 특정 작업을 여러 번 수행하는 구문. |
| 조건 | 반복문이 실행될지 여부를 결정하는 식. |
| 초기화 | 반복문이 시작할 때 변수를 설정하는 것. |
| 증감식 | 반복문이 실행될 때마다 변수를 변경하는 식. |
3. 기본 코드 예제
3.1. for 문 예제
<?php
for ($i = 1; $i <= 10; $i++) {
echo $i . " "; // 현재 $i 값을 출력합니다.
}
?>
- 실행 결과:
1 2 3 4 5 6 7 8 9 10 - 코드 동작 설명:
- $i = 1;: 초기화 - $i 변수를 1로 설정합니다.
- $i <= 10;: 조건 - $i가 10 이하인 동안 반복합니다.
- $i++: 증감식 - 매 반복마다 $i를 1씩 증가시킵니다.
- echo $i . " ";: 현재 $i 값을 출력합니다.
3.2. while 문 예제
<?php
$i = 1; // 초기화
while ($i <= 10) { // 조건
echo $i . " "; // 현재 $i 값을 출력합니다.
$i++; // 증감식
}
?>
1 2 3 4 5 6 7 8 9 10 - $i = 1;: 초기화 - $i 변수를 1로 설정합니다.
- while ($i <= 10): 조건 - $i가 10 이하인 동안 반복합니다.
- echo $i . " ";: 현재 $i 값을 출력합니다.
- $i++;: 매 반복마다 $i를 1씩 증가시킵니다.
4. 실전 활용 예제
4.1. 쇼핑몰에서 장바구니 구현
장바구니에 담긴 모든 상품의 가격을 합산하는 경우:
<?php
$cart = [10000, 20000, 15000, 30000]; // 장바구니에 담긴 상품 가격
$total = 0; // 총합 초기화
foreach ($cart as $price) {
$total += $price; // 각 상품 가격을 총합에 더합니다.
}
echo "총 가격: " . $total; // 총 가격을 출력합니다.
?>
총 가격: 750004.2. 사용자 입력 반복 처리
사용자가 0을 입력할 때까지 숫자를 입력받아 총합을 계산하는 경우:
<?php
$total = 0; // 총합 초기화
while (true) {
$input = (int)readline("숫자를 입력하세요 (0 입력 시 종료): "); // 사용자 입력
if ($input === 0) break; // 0 입력 시 종료
$total += $input; // 입력받은 숫자를 총합에 더합니다.
}
echo "총합: " . $total; // 총합을 출력합니다.
?>
5. 흔한 실수와 주의사항
5.1. 무한 루프
<?php
$i = 1;
while ($i <= 10) {
echo $i . " "; // 무한 루프 발생
// $i++; // 증감식이 빠짐
}
?>
$i++가 없으므로 $i는 항상 1로 유지되어 무한 루프에 빠집니다.<?php
$i = 1;
while ($i <= 10) {
echo $i . " ";
$i++; // 증감식을 추가하여 무한 루프를 방지
}
?>
5.2. 조건 오류
<?php
for ($i = 1; $i < 10; $i--) { // 잘못된 조건
echo $i . " "; // -1로 계속 감소
}
?>
<?php
for ($i = 1; $i <= 10; $i++) { // 올바른 조건
echo $i . " ";
}
?>
6. 정리
for문은 정해진 횟수만큼 반복할 때 유용하며, while문은 조건이 참인 동안 반복합니다.