우리는 조건문 if문과 switch문에 대해 알아보았습니다. 이번 시간에는 조건문과 쌍벽을 이루는 반복문에 대해 살펴보겠습니다.
컴퓨터가 사람보다 더 잘하는 것이 뭘까요? 우리는 단순 반복 작업을 무척이나 싫어합니다.어떤 일이 매번 똑같다면 무료함을 느끼게 되고 우리는 늘 새로운 것을 원합니다. 이런 반복적인 일은 사람보다 컴퓨터가 더 잘합니다.
[PHP] 강좌 #13 반복문 while문과 do while문
조건문 즉 판단하는 것은 사람의 몫이지만 반복하는 것은 컴퓨터의 전문 영역이라고 볼 수 있습니다. 우리는 컴퓨터에게 반복하라는 명령을 내립니다. 그러면 컴퓨터는 무한 반복할 것입니다.
하지만 때로는 반복한 후 임무를 완성하면 그 일을 마쳐야하는데요, 즉 무한 반복하다가도 특정 조건이 발생하면 반복에서 빠져나와야합니다. 우리가 그런 조건을 만들어 줘야합니다. 반복문에는 조건이 항상 함께 따라다니게 되는 거죠. 그렇지 않으면 절대 멈추지 않을테니까요.
PHP 반복문은 블락 ‘{’에서 ‘}’까지 특정 조건을 만족할 때까지 반복합니다.
PHP에서는 4가지 종류의 반복문이 있습니다.
- PHP 반복문
while – 특정 조건이 참일 때 블락을 반복합니다. - do while – while 문이 처음 조건을 시작하고 반복한다면 do while문은 한번은 실행하고 마지막에 특정 조건을 만족할 때 블락을 반복합니다.
- for, foreach – 두 반복문은 다음 시간에 다루어볼 것입니다.
The PHP while Loop
[문법]
while (조건이 만족할 때) {
실행 코드;
}
while문은 조건이 참일 때 블락 안 코드를 반복합니다. 아래 예문은 1부터 5까지 반복하는 코드입니다.
while문
[예제]
$x = 1;
while($x <= 5) {
echo "The number is: $x ";
$x++;
}
제일 먼저 $x가 5 이하라면 블락 안 코드를 반복합니다. 첫 번째는 1이고 조건문을 만족해서 블락 안 첫 코드를 실행하면 “The number is 1” 이라고 출력될 것입니다.
그리고 다음 코드 $x++;가 실행되어 변수 $x의 값은 2가 될 것입니다.
다시 조건문에서 $x가 5 이하인지 검사합니다.
$x는 2이므로 블락 안 코드를 반복하게 됩니다.
이런 식으로 반복하다가 $x가 6이 되면 루프를 빠져 나오게 됩니다.
The PHP do...while Loop[문법]
실행 코드;
} while (조건이 만족할 때);
do while문은 그냥 while문과 다르게 조건문이 뒤에 있습니다. 반복할 코드를 한번 실행 후에 조건문을 판단해서 반복할 것인지 아니면 루프를 탈출할 것인지 결정하게 됩니다. 말 그대로do 해라, 코드를 실행해라 이 뜻이지요. 그리고 while문을 만나면 조건을 따지게 되고 조건이 참이면 반복하게 됩니다. 거짓이면 탈출하게 됩니다.
do while문
$x = 1;
do {
echo "The number is: $x ";
$x++;
} while ($x <= 5);
첫 번째 예제를 이해하셨다면 두 번째 예제도 쉽게 이해될 것입니다. 코드를 분해하면 아래와 같습니다.
[실행1]
$x = 1;
do {
echo "The number is: $x
"; // 1 출력
$x++; // $x값 2로 증가
} while ($x <= 5); // 2 <= 5 결과 참이므로 do 이하 반복
[실행2]
do {
echo "The number is: $x
"; // 2 출력
$x++; // $x값 3로 증가
} while ($x <= 5); // 3 <= 5 결과 참이므로 do 이하 반복
[실행3]
do {
echo "The number is: $x
"; // 3 출력
$x++; // $x값 4로 증가
} while ($x <= 5); // 4 <= 5 결과 참이므로 do 이하 반복
[실행4]
do {
echo "The number is: $x
"; // 4 출력
$x++; // $x값 5로 증가
} while ($x <= 5); // 5 <= 5 결과 참이므로 do 이하 반복
[실행5]
do {
echo "The number is: $x
"; // 5 출력
$x++; // $x값 6로 증가
} while ($x <= 5); // 6 <= 5 결과 거짓이므로 루프 탈출
이해 하셨나요? 다음 예제는 $x 값이 6이므로 한번 실행 후 반복 없이 종료하게 됩니다.
$x = 6;
do {
echo "The number is: $x "; // 6 출력
$x++; // $x값 7로 증가
} while ($x<=5); // 7 <= 5 결과 거짓이므로 루프 탈출
다음 시간에는 반복문 for와 foreach에 대해 다루어 보겠습니다.고생하셨습니다. ^^
'컴퓨터 언어 > PHP' 카테고리의 다른 글
[PHP] 강좌 #15 함수 및 재귀형 Recursive Function (0) | 2015.04.21 |
---|---|
[PHP] 강좌 #14 반복문 for문과 foreach문 (1) | 2015.04.20 |
[PHP] 강좌 #12 조건문 switch case문 (2) | 2015.04.18 |
[PHP] 강좌 #11 조건문 if...else...elseif (1) | 2015.04.17 |
[PHP] 강좌 #10 논리, 문자열, 배열 연산자 (0) | 2015.04.16 |