주간 베스트 월간 베스트 3개월 베스트 베스트 게시물
꽃배달 한국, 중국 전지역배송

PHP 입문 - 반복 및 제어

광수 | 2001.10.17 00:17:32 댓글: 0 조회: 445 추천: 4
분류웹 프로그래밍 https://life.moyiza.kr/itstudy/1758804
▶ PHP 입문 - 반복 및 제어

실제 프로그램을 작성하기에 앞서 알아둬야할 기본적인 문법들입니다.


가장 많이 사용되는 부분입니다. 산술,비교,논리연산자 外 편에서 다룬 연산자들과
함께 사용됩니다. 간단한 예제 중심으로 진행하겠습니다.


▷ if

1) if
if (조건식) 조건이 참일 경우 수행할 코드;

2) if ... else
if (조건식) 조건이 참일 경우 수행할 코드;
else 조건이 거짓일 경우 수행할 코드;

3) if ... elseif ... else
if (조건식) 조건이 참일 경우 수행할 코드;
elseif (조건식2) 조건2가 참일 경우 수행할 코드;
elseif (조건식3) 조건3이 참일 경우 수행할 코드;
:
else 모든 조건이 거짓일 경우 수행할 코드;

간단하죠?

아울러 중괄호를 이용해 조건이 참이나 거짓일 경우 블록 단위의 프로그램 수행이
가능합니다. 블록은 아래처럼 중괄호 {,}를 이용합니다. 이는 if문 뿐만 아니라
다른 제어문에서도 사용됩니다. ^^;

if (조건식) {
  조건이 참일 경우 수행할 코드;
  조건이 참일 경우 수행할 코드;
  :
} else {
  조건이 거짓일 경우 수행할 코드;  
  조건이 거짓일 경우 수행할 코드;  
  :
}

각각의 형태에 대한 예제를 들어보도록 하겠습니다.

예제 : http://dreamphp.com/study/exam12-1.php

소스는 다음과 같습니다.

<?
// 정보
$he[name] = "홍길동";
$he[sex]  = "male";
$he[car]  = "yes";
$he[total] = 76;

echo $he[name]."<br>";

// if
if ($he[sex] == "male") echo "남자<br>";

// if ... else
if ($he[car] == "yes") echo "차량 소지<br>";
else                   echo "차량 미소지<br>";

echo "점수".$he[total]."<br>"; // 문자열 결합 연산자 사용

// if ... elseif ... else
if     ($he[total] >= 95) echo "등급 A+<br>";
elseif ($he[total] >= 90) echo "등급 A0<br>";
elseif ($he[total] >= 85) echo "등급 B+<br>";
elseif ($he[total] >= 80) echo "등급 B0<br>";
elseif ($he[total] >= 75) echo "등급 C+<br>";
elseif ($he[total] >= 70) echo "등급 C0<br>";
elseif ($he[total] >= 65) echo "등급 D+<br>";
elseif ($he[total] >= 60) echo "등급 D0<br>";
else                      echo "등급 F<br>";
?>


▷ switch

if문과 비슷합니다. 하지만 보다 간단한 형태며 그만큼 사용하기 쉽죠. 먼저 간단한
형태의 예제를 보세요. ^^;

예제 : http://dreamphp.com/study/exam12-2.php

소스는 다음과 같습니다.

<?
$select = 3;

switch ($select) {
  case 1:
    echo "기호 1번 : <br>";
    echo "홍길동님을 선택했습니다";
    break;

  case 2:
    echo "기호 2번 : <br>";
    echo "임걱정님을 선택했습니다";
    break;

  case 3:
    echo "기호 3번 : <br>";
    echo "나몰라님을 선택했습니다";
    break;

  case 4:
    echo "기호 4번 : <br>";
    echo "어머나님을 선택했습니다";
    break;

  default:
    echo "후보를 선택하지 않았습니다.";
}
?>

위에서 보듯 switch문 바로 다음에 변수를 두고, switch 문의 블록 내에 case 값:의
항목을 두어 그 변수의 값과 일치하는 곳의 코드를 수행하게 되는 것입니다. 여기서
break문을 사용했는데 만약 break문을 사용하지 않으면 그 아래 코드도 연달아
수행되게 됩니다.


▷ while & do ... while

while문은 특정 명령을 반복할때 쓰입니다. 형식은 다음과 같습니다.

while (조건식) 조건이 참일 동안 수행할 코드;

while (조건식) {
  조건이 참일 동안 수행할 코드;
  :
}

do {
  조건이 참일 동안 수행할 코드;
  :
} while (조건식);

간단한 형태의 예제를 먼저 보세요. 이해하는데 있어 이보다 좋은 방법은 없겠죠?

예제 : http://dreamphp.com/study/exam12-3.php

소스는 다음과 같습니다.

<?
$c = 1;
while($c<=10) {
  echo $c."<br>";
  $c++;
}
?>

처음에 $c 변수의 값에 1을 대입하고, while문의 조건식에서 "$c 변수의 값이 10보다
작거나 같다"는 식이 성립(참)되므로 안의 코드를 수행합니다. 먼저 현재의 $c 변수
값을 출력하고, $c 변수의 값을 1 증가시킵니다. 그리고 다시 반복하게 되는 것이죠.

$c의 값이 10이 되었을때 여전히 조건을 만족하기 때문에 $c 변수의 값을 출력하고,
$c의 값을 1 증가시킨 다음에 조건을 거쳐야 하는데 이때는 이미 $c의 값이 11이 되기
때문에 거짓이 되어 while문을 벗어나게 됩니다.

do ... while도 살펴볼까요?

예제 : http://dreamphp.com/study/exam12-4.php

소스는 다음과 같습니다.

<?
$c = 1;
do {
  echo $c."<br>";
  $c++;
} while ($c<=10);
?>

최초 $c에 1값을 대입후 do ... while문에 들어가죠. $c의 값 출력후 1 증가시킨 다음
조건을 비교해 참이 되기 때문에 다시 반복해 블록 안의 코드를 수행합니다. $c의 값이
10까지 출력되고 1 증가되어 11이 되면 조건식은 거짓이 되어 벗어나게 됩니다. ^^;


▷ for

while문처럼 반복적으로 특정 코드를 수행할 경우 사용합니다. 형식부터 알아볼까요?

for (처음 시작시 실행될 명령; 조건식; 반복될때마다 수행될 명령) 조건이 참일 경우 수행할 코드;

for (처음 시작시 실행될 명령; 조건식; 반복될때마다 수행될 명령) {
  조건이 참일 경우 수행할 코드;
  :
}

예제를 통해 알아볼까요?

예제 : http://dreamphp.com/study/exam12-5.php

소스는 다음과 같습니다.

<?
for ($i=1; $i<=10; $i++) {
  echo $i." ";
}
echo "<br>"; // 실행 결과 1 2 3 4 5 6 7 8 9 10 출력

for ($i=10; $i>0; $i--) {
  echo $i." ";
}
echo "<br>"; // 실행 결과 10 9 8 7 6 5 4 3 2 1 출력
?>

보다 다양한 활용방법은 예제 프로그램들을 작성할때 다루도록 하겠습니다. ^^


▷ continue & break

break문은 앞에서 나왔죠? continue와 break를 사용한 예제를 직접 살펴볼까요?

예제 : http://dreamphp.com/study/exam12-6.php

소스는 다음과 같습니다.

<?
for ($i=1; $i<=100; $i++) { // for문 바로 앞에서 다루었죠?
  if ($i<25) continue;
  if ($i>75) break;
  echo $i." ";
}
?>

프로그램을 수행하면 25부터 75까지 출력됩니다. 위의 예제에서 최초 if문에서 $i의
값이 25보다 작을 경우 continue문에 의해 이후의 코드는 수행하지 않고 반복문의
처음으로 돌아갑니다. 그래서 $i의 값이 25가 되는 순간부터 처음 if문의 조건은
거짓이 되어 다음으로 넘어가게 되는 것이죠.

$i의 값이 75보다 작기 때문에 두번째 if문의 조건은 거짓이 되어 수행되지 않고,
다음줄에서 $i의 값을 출력하게 됩니다. 그리고 또 반복... 그래서 $i의 값이 75를
넘기게 되면 두번째 조건이 만족해 반복문을 벗어나게 되는 것이죠.


▶ 직접 프로그램을 작성해보세요. 그래야 이해를 확실히 할 수 있거든요.


* 전설님에 의해서 게시물 이동되었습니다 (2004-05-30 17:07)
* 이동한 이유 :
* 원래의 위치 : 웹 공부 >> 웹 프로그래밍
* 이동후 위치 : 웹 공부 >>

* 전설님에 의해서 게시물 이동되었습니다 (2004-05-30 17:12)
* 이동한 이유 :
* 원래의 위치 : 웹 공부 >>
* 이동후 위치 : 웹 공부 >> 웹 프로그래밍
추천 (4) 선물 (0명)
IP: ♡.149.♡.65
3,006 개의 글이 있습니다.
제목 글쓴이 날짜 조회
관리자
2003-09-20
11844
관리자
2003-09-20
11393
관리자
2003-09-20
20521
지구인
2010-08-27
19325
지구인
2009-09-07
13647
SOLIDH
2010-01-29
15598
엔죠라이프
2004-10-07
16699
광수
2001-10-17
423
광수
2001-10-17
575
광수
2001-10-17
718
광수
2001-10-17
371
광수
2001-10-17
445
광수
2001-10-17
709
광수
2001-10-17
590
광수
2001-10-17
564
광수
2001-10-17
596
광수
2001-10-17
502
광수
2001-10-17
622
광수
2001-10-17
832
광수
2001-10-17
792
광수
2001-10-17
627
광수
2001-10-17
785
광수
2001-10-17
449
광수
2001-10-17
508
광수
2001-10-17
445
광수
2001-10-17
656
광수
2001-10-17
508
광수
2001-10-17
732
모이자 모바일