php 입문 | 제어 구문 | for문에 의한 복잡한 반복
반복 구문은 while보다 “for"라는 구문이 더 많이 사용된다. 이것은 단순한 조건의 설정뿐만 아니라 초기화 및 반복까지 한꺼번에 설정할 수있는 구문이다.
for (초기화 처리; 조건; 반복 후 처리) {
...... 반복 처리 ......
}
중괄호 대신 콜론(:)과 endfor를 사용할 수도 있다.
for (초기화 처리; 조건; 반복 후 처리):
...... 반복 처리 ......
endfor;
이 for 문은 다음 ()안에 3 개의 요소를 설명한다.
- 첫 번째는 반복을 시작하기 전에 실행하는 것으로, 변수에 값을 할당하거나 반복을 위한 준비를 한다.
- 두 번째는 반복 조건이다. 여기에 쓴 수식이나 값이 true이면 반복을 계속한다. false가되면 반복을 빠져 나온다.
- 세 번째는 반복 부분의 처리를 실행한 후에 다음 반복으로 진행하기 전에 수행하는 처리이다. 이를테면 “반복 후 처리’라는 것이다. 반복마다 변수의 값을 증감하는데 주로 이용된다.
이 for 문은 작성 요소가 많기 때문에 실제로 몇번이나 써보고 하여 사용법에 익숙해지길 바란다.
아래에 예제를 보도록 하겠다.
<?php
$total = 0;
for($i = 1;$i <= 100;$i++){
$total += $i;
}
?>
<!DOCTYPE html>
<html lang="ko">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>sample page</title>
</head>
<body>
<h1>Hello PHP!</h1>
<div>
<?php echo "합계 : " . $total; ?>
</div>
</body>
</html>
이는 앞서의 while 샘플 for를 사용 형태에 다시 작성한 것이다. 여기에서는
for ($i = 1; $i <= 100; $i ++) {...... 중략 ......}
이런 식으로 for를 쓰고 있다. 먼저 반복에 들어가기 전에 $i = 1
을 실행하여 변수 $i에 1을 대입해 둔다. 그리고 $i <= 100
가 true인(즉 $i가 100 이하)동안 반복을 계속하도록 하고 있다. 그리고 반복되면 $i++
을 실행하여 $i의 값을 1 증가시킨다.
이렇게 변수 $i가 1부터 순차적으로 2,3 …… 이런식으로 늘리면서 반복을 계속하고 100을 넘으면 반복을 빠져 나가게 되어 있다.
for는 while보다 까다로운이지만, 이를 사용하면 반복을 위해 불필요한 일을 쓸 필요 없이 스크립트를 깔끔하게 작성할 수 있게 된다.
최종 수정 : 2021-08-27