웹마스터 팁
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
[동주아빠] PHP 게시판 만들기 기초 (5) 제어문(上)
2002.12.25 15:03
PHP의 제어문은 C의 제어문과 비슷합니다.
if, else, elseif, while, do∼while, for, break, continue, switch, require, include 등이 제어문에서 사용됩니다.
이번 시간에는 if, else, elseif, while, do∼while 문의 쓰임새를 간단한 실습을 통해서 살펴보기로 하겠습니다.
1.if 문
이거 무지무지 많이 쓰이는 문장입니다. 이거 제대로 사용 못하면 PHP 프로그램 하나도 못 만듭니다.
기본적으로,
if (표현식)
명령문과 같은 식으로 씁니다.
if 다음의 괄호 안에 참과 거짓을 구분하는 표현식을 쓰고 이 표현식이 참이면 명령문을 실행합니다.
그러나 이건 명령문이 단 한 줄일 때의 경우이고 명령문이 여러 문장이면 중괄호({})를 사용하여 반드시 묶어 주어야 합니다. 그리고 대개의 경우 명령문이 단 한 줄이라도 중괄호로 묶어주는 경우가 많습니다.
1 : <?
2 : $a = 10;
3 : $b = 3;
4 : if($a>$b) {
5 : echo "$a 가 $b 보다 더 크다.";
6 : }
7 : if($a<=$b) {
8 : echo "$a 가 $b 보다 작거나 같다.";
9 : }
10: ?>
5행과 8행을 보면 $a와 $b 뒤에 한 칸을 띄었습니다.
만약 "$a가 $b보다..."와 같이 사용하면 "$a가"까지 하나의 변수로 인식하기 때문에 원하는 결과가 나오지 않습니다. 반드시 변수 뒤에는 한 칸을 띄어 써야 합니다.
2.else 문
위의 if 문에서 표현식이 거짓일 경우에 실행하는 문장을 나열합니다. 따라서
if (표현식)
명령문 1
else
명령문 2 와 같은 식으로 사용하죠.
위의 if문을 else를 사용하여 바꾸면 이렇게 됩니다.
1 : <?
2 : $a = 10;
3 : $b = 3;
4 : if($a>$b) {
5 : echo "$a 가 $b 보다 더 크다.";
6 : } else {
8 : echo "$a 가 b$ 보다 더 작거나 같다.";
9 : }
10: ?>
3.elseif 문
else와 if를 합쳐 놓은 것과 같죠.
1 : <?
2 : $a = 10;
4 : if($a<5)
5 : echo "$a 가 5보다 작다.";
6 : elseif($a<10)
7 : echo "$a 는 10보다 작다.";
8 : elseif($a<15)
9 : echo "$a 는 15보다 작다.";
10: else
11:echo "$a 는 15보다 크거나 같다.";
12: ?>
4.while 문
표현식이 참인 동안 계속 명령문을 실행합니다.
while (표현식)
명령문
1 : <?
2 : //1부터 10까지의 출력합니다.
3 : $number=1;
4 : while ($number <= 10) {
5 : echo $number."<br$gt;";
6 : $number=$number+1;
7 : }
8 : ?>
6행을 C언어에서와 같이 $number += 1이라고 써도 됩니다.(C언어에 대한 경험이 없는 분은 그냥 무시하고 넘어가세요.)
5행에서 문자열 연산자(.)를 잘 보시구요.
2행의 //는 실제로 실행되지 않는 주석문입니다.
5.do ∼ while 문
while 문과 비슷하지만 일단 명령문을 한번 실행하고 난 다음 while의 표현식을 점검합니다.
do
명령문
while (표현식)
위에서 실습한 1부터 10까지 출력하는 프로그램을 do∼while 문을 사용해서 만들면 다음과 같습니다.
1 : <?
2 : //1부터 10까지의 출력합니다. (do - while 문 사용)
3 : $number=1;
4 : do {
5 : echo $number."<br$gt;";
6 : $number=$number+1;
7 : } while ($number <= 10)
8 : ?>
크게 어렵지는 않은 내용이지만 대개 중괄호({})와 문장의 끝을 나타내는 세미콜론(;) 그리고 echo 문에 사용하는 큰따옴표("")를 쓸 때 실수하여 오류가 나는 경우를 많이 봅니다.
이상 동주아빠 손병목이었습니다.
if, else, elseif, while, do∼while, for, break, continue, switch, require, include 등이 제어문에서 사용됩니다.
이번 시간에는 if, else, elseif, while, do∼while 문의 쓰임새를 간단한 실습을 통해서 살펴보기로 하겠습니다.
1.if 문
이거 무지무지 많이 쓰이는 문장입니다. 이거 제대로 사용 못하면 PHP 프로그램 하나도 못 만듭니다.
기본적으로,
if (표현식)
명령문과 같은 식으로 씁니다.
if 다음의 괄호 안에 참과 거짓을 구분하는 표현식을 쓰고 이 표현식이 참이면 명령문을 실행합니다.
그러나 이건 명령문이 단 한 줄일 때의 경우이고 명령문이 여러 문장이면 중괄호({})를 사용하여 반드시 묶어 주어야 합니다. 그리고 대개의 경우 명령문이 단 한 줄이라도 중괄호로 묶어주는 경우가 많습니다.
1 : <?
2 : $a = 10;
3 : $b = 3;
4 : if($a>$b) {
5 : echo "$a 가 $b 보다 더 크다.";
6 : }
7 : if($a<=$b) {
8 : echo "$a 가 $b 보다 작거나 같다.";
9 : }
10: ?>
5행과 8행을 보면 $a와 $b 뒤에 한 칸을 띄었습니다.
만약 "$a가 $b보다..."와 같이 사용하면 "$a가"까지 하나의 변수로 인식하기 때문에 원하는 결과가 나오지 않습니다. 반드시 변수 뒤에는 한 칸을 띄어 써야 합니다.
2.else 문
위의 if 문에서 표현식이 거짓일 경우에 실행하는 문장을 나열합니다. 따라서
if (표현식)
명령문 1
else
명령문 2 와 같은 식으로 사용하죠.
위의 if문을 else를 사용하여 바꾸면 이렇게 됩니다.
1 : <?
2 : $a = 10;
3 : $b = 3;
4 : if($a>$b) {
5 : echo "$a 가 $b 보다 더 크다.";
6 : } else {
8 : echo "$a 가 b$ 보다 더 작거나 같다.";
9 : }
10: ?>
3.elseif 문
else와 if를 합쳐 놓은 것과 같죠.
1 : <?
2 : $a = 10;
4 : if($a<5)
5 : echo "$a 가 5보다 작다.";
6 : elseif($a<10)
7 : echo "$a 는 10보다 작다.";
8 : elseif($a<15)
9 : echo "$a 는 15보다 작다.";
10: else
11:echo "$a 는 15보다 크거나 같다.";
12: ?>
4.while 문
표현식이 참인 동안 계속 명령문을 실행합니다.
while (표현식)
명령문
1 : <?
2 : //1부터 10까지의 출력합니다.
3 : $number=1;
4 : while ($number <= 10) {
5 : echo $number."<br$gt;";
6 : $number=$number+1;
7 : }
8 : ?>
6행을 C언어에서와 같이 $number += 1이라고 써도 됩니다.(C언어에 대한 경험이 없는 분은 그냥 무시하고 넘어가세요.)
5행에서 문자열 연산자(.)를 잘 보시구요.
2행의 //는 실제로 실행되지 않는 주석문입니다.
5.do ∼ while 문
while 문과 비슷하지만 일단 명령문을 한번 실행하고 난 다음 while의 표현식을 점검합니다.
do
명령문
while (표현식)
위에서 실습한 1부터 10까지 출력하는 프로그램을 do∼while 문을 사용해서 만들면 다음과 같습니다.
1 : <?
2 : //1부터 10까지의 출력합니다. (do - while 문 사용)
3 : $number=1;
4 : do {
5 : echo $number."<br$gt;";
6 : $number=$number+1;
7 : } while ($number <= 10)
8 : ?>
크게 어렵지는 않은 내용이지만 대개 중괄호({})와 문장의 끝을 나타내는 세미콜론(;) 그리고 echo 문에 사용하는 큰따옴표("")를 쓸 때 실수하여 오류가 나는 경우를 많이 봅니다.
이상 동주아빠 손병목이었습니다.
댓글 9
-
손병목
2003.01.01 18:32
네. 맞습니다. 감사합니다. -
윤상현
2003.01.01 14:34
5행 <br>"; -
국밥조아
2003.01.23 14:44
else 문에 8행.. $b 인데요.. b$라고 되어있어요.. 헤헤.. 나도 하나 발견이닷~ -
녹수
2003.02.28 15:23
늦었지만 오늘부터 여기까지 왔습니다 우앗 감사합니다.. 나도 <br>"; 발견
이해잘 안가는 부분에 딴지 안달고 막 갑니다 얼쑤~ -
지니
2003.02.15 06:19
자바랑 비슷한거 같네 >_<
지금까지 이해는 잘 해가고 있는데..
잘 할 수 있을까 ㅡㅡ;; -
이수민
2003.03.15 21:32
옛날에 베이직을 배워서 그런지 아직까진 이해가 잘 가는군요 후 -
강희중
2003.08.10 21:58
저두 베이직 ㅡㅡ; 초등학교 4학년때 다 땟었는데 지금 베이직 책 다시보니 어릴때보다 이해가 더안가는... -
나무스타일
2004.02.25 17:58
수고하셨습니다. 좋은 글 잘 보고 있습니다. -
수고요
2007.10.22 17:00
잘 보고 갑니다.^^