(오랫만에 포스팅을 하는것 같네요. 한참동안 못올리게 된점이 마음에 걸리지만, 일이 있어서 어쩔수가 없었습니다. 지금도

피곤하네요...휴... 글올리고 쉬어야 겠습니다 ^^;;)


PHP에 있어서 반복문은, 다른 언어와 마찬가지로 특정한 코드 블럭을 (명령어 모음을) 정해진 횟수만큼

반복하여 실행하기 위해 사용합니다.


(기본적으로는 그렇고, 무한반복도 가능하긴 합니다...)


 

반복문

여러분이 코드를 작성하시다 보면 매우 자주, 많은 횟수만큼 같은 코드 조각을 반복해서 실행시키고 싶으실때가

있을겁니다.


이처럼 특정 코드를 반복해서 실행시키고 싶을때 반복문을 사용하시면 됩니다.


PHP에는 아래와 같은 반복문이 있습니다:

  • while - 일단 조건이 참이어야만 실행이 되고, 조건이 참인동안 코드 블럭을 반복해서 실행함
  • do...while - 일단 조건이 참인지와 관계없이 코드 블럭이 한번 실행된다음, 그 다음부터는 조건이 참인동안 반복해서 코드 블럭을 반복해서 실행함.
  • for - 특정한 정해진 횟수만큼 코드 블럭을 반복해서 실행함. 
  • foreach - 배열의 각 항목에 대해 코드 블럭을 반복해서 실행함.

일단 지금은 위의 요약문을 읽더라도 잘 이해가 되지 않으실 겁니다.

자! 이제 아래의 좀 더 자세한 설명을 하나 하나 따라가면서 익혀봅시다.


 

while 반복문

while 반복문은 조건이 참일때에만 코드 블럭을 실행합니다.

따라서, 조건이 참이 아니면 어떤 경우에도 코드 블럭은 실행되지 않습니다.


일단, 조건이 참이되어서 코드 블럭이 실행되고 나면, 계속 조건을 확인하면서

조건이 참인동안에만 코드 블럭을 반복해서 실행합니다.


문법

while (조건)
실행될 코드 블럭;

예제

아래 예제는 변수 i 가 5보다 작거나 같아질때까지 계속해서 실행될 겁니다.

i 는 반복문이 실행될때마다 1씩 증가합니다:


<html>
<body>
<?php 
$i=1;
while($i<=5)
  {
  echo "The number is " . $i . "<br />";
  $i++;
  }
?>
</body>
</html>

결과가 어떠한 지는, 앞선 포스트에서 언급한데로 PHP를 실행시킬수 있는 환경을 구축해 놓으셨다면

확인하실 수 있을겁니다. 직접 한번 확인해 보세요.



 

do...while 반복문

do...while 반복문은 조건이 참인지와 관계없이 적어도 한번 코드 블럭을 실행합니다.

그러고 난 다음에 조건이 참인동안만 코드 블럭을 반복해서 실행합니다.


문법

do
{
실행될 코드 블럭;
}
while (조건);

예제

아래 예제는 적어도 한번, i 의 값을 1만큼 증가시킬겁니다.

그리고 나서, 조건의 값이 5보다 작을때까지, 계속해서 i 의 값을 증가시킬 겁니다:


<html>
<body>
<?php 
$i=0;
do
  {
  $i++;
  echo "The number is " . $i . "<br />";
  }
while ($i<5);
?>
</body>
</html>


 

for 반복문

for 반복문은 여러분이 코드 블럭을 얼마나 많은 횟수만큼 실행시켜야 할지 알때에 사용할 수 있습니다.


문법

for (초기화; 조건; 증가값)
{
  실행될 코드 블럭;
}

 

참고: for 반복문은 3개의 파라미터(매개변수, parameter)를 가질 수 있습니다. 첫번째 파라미터는 변수값을 초기화 하고,

두번째 파라미터는 반복문의 조건을, 그리고 세번째 파라미터는 반복문을 실행시키는데 필요한 증가값을 담고 있습니다.

초기화 파라미터나 증가값 파라미터에 하나 이상의 값이 포함되었을 경우에, 각각의 값은 콤마로 구분해야 합니다.

조건은 반드시 참이나 거짓으로 구분되는 것이어야만 합니다.

예제

아래 예제는 "Hello World!" 를 다섯번 화면에 표시합니다:

<html>
<body>
<?php
for ($i=1; $i<=5; $i++)
{
  echo "Hello World!<br />";
}
?>
</body>
</html>


 

foreach 반복문

foreach 반복문은 배열을 통해 반복할때에 사용합니다.

각 반복때마다, 현재 배열 항목의 값이 $받을변수 에 할당됩니다. (그리고 나서 배열 포인터는 1만큼 다음으로 이동합니다)

- 그래서 다음 반복때는, 배열의 그 다음 항목을 가지고 작업할 수 있게 됩니다.


문법

foreach ($배열담은변수 as $받을변수)
{
    실행될 코드 블럭;
}

예제


아래의 예제는 주어진 배열의 값을 화면에 출력할 것입니다:

<html>
<body>
<?php
$arr=array("one", "two", "three");
foreach ($arr as $value)
{
  echo "Value: " . $value . "<br />";
}
?>
</body>
</html>


아마 위의 모든 반복문들을 완전히 이해하고, 이해가 잘 되지 않는 부분들을 명쾌하게 자기것으로 만드려면

예제 코드들을 한번씩 실행해보고, 왜 그렇게 되는지 설명을 보면서 생각해 보셔야 할겁니다 ^_^...

신고