IMCAT.DEV
로그인 가입
PHP 입문 문법

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; // 총 가격을 출력합니다.
    ?>
  • 실행 결과: 총 가격: 75000
  • 4.2. 사용자 입력 반복 처리

    사용자가 0을 입력할 때까지 숫자를 입력받아 총합을 계산하는 경우:

    <?php
    $total = 0; // 총합 초기화
    
    while (true) {
        $input = (int)readline("숫자를 입력하세요 (0 입력 시 종료): "); // 사용자 입력
        if ($input === 0) break; // 0 입력 시 종료
        $total += $input; // 입력받은 숫자를 총합에 더합니다.
    }
    
    echo "총합: " . $total; // 총합을 출력합니다.
    ?>
  • 이 예제는 사용자가 0을 입력하기 전까지 계속해서 숫자를 입력받아 총합을 계산하는 실전적인 예입니다.
  • 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문은 조건이 참인 동안 반복합니다.
  • 흔히 하는 실수로는 무한 루프와 잘못된 조건 설정이 있습니다.
  • 다음에 학습하면 좋은 주제

  • 배열과 연관 배열
  • 함수와 스코프
  • 조건문 (if, switch)