본문 바로가기

비개발자의 개발 일지

현장 팀장에서 수출 ERP까지 — AI와 함께 시스템을 만든 기록

시리즈 보기
php

PHP for 반복문 — 초기값·조건·증가식 3박자 완전 정리

by 왕진 2026. 6. 12.
반응형

 

 

Web Development · PHP for

PHP for 반복문 —
초기값 · 조건 · 증가식 3박자

반복 횟수가 정해진 작업에 가장 적합한 반복문
시작 오늘 분석할 코드

PHP의 가장 기본적인 for 반복문이다. (초기값; 조건; 증가식) 세 가지를 한 줄에 적어두는 형태로, 반복 횟수가 정해진 경우에 쓴다.

<?php for($i = 1; $i < 5; $i ++){ //반복문 for이고. (초기값, 조건, 증가식) //i변수에 1을 저장하고, i변수가 5보다 작을 때까지 반복한다. //i는 후위증가를 한다. print $i."회째의 반복입니다.<BR>"; //반복하는 횟수에 의해서 값이 누적되면서 출력이 된다. } ?>
실제 출력 미리보기
1회째의 반복입니다.
2회째의 반복입니다.
3회째의 반복입니다.
4회째의 반복입니다.

$i가 1부터 4까지 반복되며 출력. $i < 5이므로 5는 포함되지 않음.

용어 용어 정리
for정해진 횟수만큼 반복하는 키워드
초기값반복 시작 전에 1번만 실행 (변수 셋업)
조건매 반복 직전 검사 — 참이면 본문 실행
증가식본문 끝나면 실행 — 변수를 다음 단계로
$i ++후위증가 — $i를 1 더함 (i = i + 1과 동일)
.PHP의 문자열 연결 연산자 (변수 + 문자열)
< 5"5 미만" — 5는 포함하지 않음
; 세미콜론for 안에서 3가지 부분을 구분

1 for의 3가지 핵심 부분

for 옆 괄호 안에는 세미콜론으로 구분된 세 영역이 들어간다. 이 셋의 역할이 다르고, 실행 시점도 다르다.

for( 초기값 ; 조건 ; 증가식 ){ ↑ ↑ ↑ 1번만 실행 매번 검사 매 반복 끝 }
부분 예시 실행 시점 역할
초기값 $i = 1 시작 전 1번 카운터 변수 준비
조건 $i < 5 매 반복 시작 시 참이면 본문 실행
증가식 $i ++ 본문 끝난 후 다음 반복으로 변수 갱신

2 본 코드의 실행 흐름
[ $i = 1 ] ← 초기값 (1번만) │ ▼ [ $i < 5 ? ] ← 조건 검사 │참 ▼ [ "1회째..." 출력 ] ← 본문 │ ▼ [ $i ++ → $i = 2 ] ← 증가식 │ ▼ [ $i < 5 ? ] → 참 → "2회째..." → $i = 3 [ $i < 5 ? ] → 참 → "3회째..." → $i = 4 [ $i < 5 ? ] → 참 → "4회째..." → $i = 5 [ $i < 5 ? ] → 거짓 → 종료
※ 핵심 포인트
  • 초기값은 시작 시 딱 1번만 실행 — 매 반복마다 1로 리셋되는 게 아님
  • 조건이 거짓이면 본문이 0번 실행될 수도 있음 (선검사)
  • 증가식은 본문이 끝난 뒤 실행 — 본문 안에서 $i를 직접 바꾸면 흐름이 꼬임

3 < 5<= 5의 한 끗 차이

조건에서 부등호를 잘못 쓰면 반복 횟수가 1번 차이 난다. "몇 번 돌고 싶은지"를 명확히 정한 뒤 부등호를 골라야 한다.

$i < 5 (5 미포함)
본 코드 — $i가 1, 2, 3, 4일 때만 실행
4번 반복
$i <= 5 (5 포함)
$i가 1, 2, 3, 4, 5일 때 실행
5번 반복
관용적으로 "0부터 시작"하면 <, "1부터 시작"하면 <=를 자주 쓴다. 둘 다 "n번 반복"이 깔끔하게 떨어진다.

4 문자열 연결 연산자 .

PHP에서는 마침표 .가 문자열을 이어붙이는 연산자다. 자바스크립트의 +와 비슷한 역할이지만 PHP는 명확히 구분한다 — 숫자끼리는 +, 문자열은 ..

$i = 1; print $i."회째의 반복입니다.<BR>"; → "1" + "회째의 반복입니다.<BR>" → "1회째의 반복입니다.<BR>"
다른 작성법 결과
print $i."회째..."; 본 코드 — 명시적 연결
print "$i회째..."; 큰따옴표는 변수 자동 치환 — 같은 결과
print '$i회째...'; 작은따옴표는 변수 치환 안 됨 — "$i회째"가 글자 그대로 출력
echo $i, "회째..."; echo의 콤마 다중 인자 — 같은 결과

반응형
5 for vs while — 언제 무엇을 쓰는가?
for
  • 횟수가 정해진 반복
  • "5번 출력", "배열 0~9 순회"
  • 한 줄에 시작·조건·증가가 모여 있음
while
  • 조건만 있는 반복
  • "입력이 끝날 때까지", "파일 EOF까지"
  • 몇 번 돌지 미리 모름
실무 규칙: "이 코드 몇 번 돌까?"가 사전에 답이 나오면 for, 안 나오면 while.

6 자주 하는 실수
실수 증상 해결
증가식 빠뜨림 ($i ++ 누락) 무한 루프 (서버 멈춤) $i를 변경하는 식 반드시 포함
구분자를 콤마로 씀 — for($i=1, $i<5, $i++) Parse error 반드시 세미콜론 ;
< 5<= 5 헷갈림 1번 더 또는 1번 덜 반복 "몇 번 돌지" 명확히 결정 후 부등호
본문에서 $i를 또 변경 예측 못한 반복 횟수 증가식에만 맡기기
작은따옴표로 변수 출력 $i가 글자 그대로 출력 큰따옴표 또는 . 연결 사용

7 for의 응용 — 다양한 패턴
// 거꾸로 카운트 for($i = 5; $i > 0; $i --) print $i; // 5 4 3 2 1 // 2씩 증가 for($i = 0; $i <= 10; $i += 2) print $i; // 0 2 4 6 8 10 // 여러 변수 동시 제어 for($i = 0, $j = 10; $i < $j; $i++, $j--) { print "$i / $j<BR>"; } // 무한 루프 (의도한 경우만) for(;;) { ... break ... }

핵심 한 줄 요약

for반복 횟수가 정해진 작업의 표준 반복문
3박자초기값 ; 조건 ; 증가식 (세미콜론 구분)
초기값시작 시 1번만 실행 — 카운터 셋업
조건매 반복 직전 검사 — 거짓 시 즉시 종료
증가식본문 끝난 후 — 다음 단계로 변수 변경
$i < 55 미포함 — $i는 1, 2, 3, 4 (4번 반복)
.문자열 연결 연산자 (PHP 전용)
반응형

댓글