공지가 있을때까지 구매요청/제휴/견적요청을 받지 않습니다.

3강. [문법] 조건문 if, else, elseif, switch > PHP 강좌

본문 바로가기
사이트 내 전체검색

HOT - 펜션예약솔루션 - 그누보드5

HOT - 중고차매매솔루션 - 그누보드5

HOT - 중고차매매솔루션 - 그누보드4

HOT - 펜션예약솔루션 - 그누보드4

NEW - 인터넷뉴스 솔루션 - 그누보드5

계좌정보

  • 국민 : 028201-01-019932
  • 대구 : 068-07-021683-8
  •  
  • 예금주 : 림소프트/김상림
  •  

파트너쉽

PHP 강좌

3강. [문법] 조건문 if, else, elseif, switch

페이지 정보

작성자 rimsoft 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 작성일12-02-18 01:31 조회10,938회 댓글0건

본문

프로그램의 특징은 당연히 알수 있듯이, 한줄 한줄 순서대로 읽어내려간다는 것입니다.그러나 예외는 있습니다. 오늘 그것을 할것이구요.
참고로 해당줄에서 에러가 나면 php는 파일명과 몇번째 줄에서 어떤 에러가 나는지 뿌려줍니다. 이것은, 에러표시는 프로그램 오류를 잡는데 가장 중요한 역할을 합니다.

가장 많이 접하는 오류가 parse error입니다. 종결을 의미하는 세미콜론(;)표시가 빠졌거나 연산자가 틀리거나 문자열이음이 잘못 됐거나 등등 기본적인 실수일때 나타나는 오류입니다. 잘 참고하시구요..

가장 기본적으로 알아야 할 3가지만 말씀드리면,

1. php 소스코드는 <?php 또는 <? 로 시작해서 ?>로 닫습니다.

2. php는 마지막에 종결의미로 세미콜론(;)을 찍습니다.

3. php에서 문자열은 반드시 따옴표로 표시를 해야합니다. 숫자는 생략이 가능하고 문자열끼리 이을경우에는 dot(점)을 붙여 이을 수 있습니다. php는 유연성이 좋아 왠만해서 형변환등을 하지 않아도 알아서 구분을 잘 해내어 연산을 하곤합니다.

그외, 연산시 변수값이 비어있으면 에러가 나거나 문법구조가 틀리거나 하여도 에러가 나겠지요.

당장 위 정도가 생각이 납니다만, mysql 명령어 전달시 예약어와 구별되게 백쿼터(`)를 준다던가, 특수문자에 백슬러쉬(\)를 준다던가 하는 부분은 후에 기회가 되면 다루겠습니다.


조건문을 알기전에 비교연산자를 먼저 알아야 하는데 아래 링크를 참고하시기 바랍니다.

http://php.net/manual/kr/language.operators.comparison.php


if 문은 아마도 제가 가장많이 사용한 문법중 하나입니다. 일상에서도 많이 이야기하죠.

만약~ 한다면 ~ (결과)

조건이 하나라면 if문 하나만 사용하면 됩니다.

조건에 두개 이상이면 if if if ... ? 이것이 아닌 if elseif elseif.. 이렇게 됩니다.

그리고 조건외 다른 모든 조건을 포함하는 마지막에 else 를 씁니다.

$a=4;

if($a%2==0) $result=$a."는(은) 2의 배수다";
else $result=$a."는(은) 2의 배수가 아니다.";

echo $result;

답은 물론 "4는 2의 배수다"가 될겁니다.
앞%뒤==0 는 앞을 뒤로 나눠서 나머지 0이 되는 것을 이야기합니다. 게시판에서 리스트글이 홀짝으로 되니, 짝수로 나누거나 홀수로 나눠 나머지에 따라 백그라운드 색상을 표현하곤합니다. 또 하나 사용예는 갤러리 목록에서 이미지가 가로 4개씩 나열된다고 할때도 유용하게 사용됩니다.

$a=3;

if($a%2==0) $result=$a."는(은) 2의 배수다";
elseif($a%3==0) $result=$a."는(은) 3의 배수다";
elseif($a%4==0) $result=$a."는(은) 4의 배수다";
elseif($a%5==0) $result=$a."는(은) 5의 배수다";
else $result="알수 없다.";
 
echo $result;


위는 보면 3번줄 조건이 아니니 때문에 4번줄로 넘어가서 조건에 만족을 합니다. 그리고 컴퓨터는 5,6번줄을 읽어내려가지 않습니다. 바로 9번으로 가서 읽습니다.


위 조건문은 가장 기본적 문법이고 가장 많이 사용이 됩니다. 그러나, 조건의 조건...으로 들어가 계단식으로 남발하게 되면 후에 유지보수하기가 힘들어집니다. 처음 배울때는 남발해도 가급적 줄이는 방향이 좋겠습니다. 


elseif문과 비슷한게 switch 문입니다.
$a=3;


switch($a){//이하 실행될 줄이 2줄 이상면 중괄호로 열어 끝에서 닫아야 한다. 

	case $a%2==0:
		$result=$a."는(은) 2의 배수다";
		break;
	case $a%3==0:
		$result=$a."는(은) 3의 배수다";
		break;
	case $a%4==0:
		$result=$a."는(은) 4의 배수다";
		break;
	default:
		$result="알수없다";
		break;
	
}

echo $result;


위는 앞의 elseif문과 같은 결과를 보여줍니다. elseif 문도 괄호를 사용할수도 있습니다. 다만, elseif가 할수 없는것은 case 내 break; 역할은 벗어난다는 뜻입니다. 반복문인 for, while 문에서도 사용이 되는데, case 내 break가 없으면 조건이 맞아도 다음 case로 넘어갑니다.

그외 여러가지 예제나 형태가 있을수 있는데 http://php.net/manual/en/control-structures.switch.php 이곳을 참고하셔도 괜찮겠습니다.

댓글목록

등록된 댓글이 없습니다.

Total 18건 1 페이지
PHP 강좌 목록
번호 제목 글쓴이 날짜 조회
공지 강좌 들어가기전에.. 댓글6 인기글 rimsoft 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 02-11 3162
17 php 초급에서 반드시 짜 보아야 할 것들 댓글1 인기글 rimsoft 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 07-09 3680
16 알고리즘과 경우의 수 인기글 rimsoft 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 06-02 3379
15 그누보드 게시판 테이블 그리고 댓글 댓글2 인기글 rimsoft 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 05-02 6814
14 웹표준? 댓글2 인기글 rimsoft 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 04-13 2940
13 특강. [그누보드를 알자4] 그누보드 스킨(board-list.skin.php) 댓글2 인기글 rimsoft 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 04-07 6085
12 특강. [그누보드를 알자3] 그누보드 스킨(board-write.skin.php) 댓글2 인기글 rimsoft 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 03-21 22250
11 특강. [그누보드를 알자2] 그누보드 스킨 댓글3 인기글 rimsoft 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 03-14 8515
10 특강. [그누보드를 알자1] 그누보드 루트파일들 댓글3 인기글 rimsoft 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 03-08 7529
9 7강. 썸네일 댓글5 인기글 rimsoft 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 03-07 3273
8 6강. 중간 마무리 댓글2 인기글 rimsoft 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 03-03 2310
7 5강. html에서 form 개념과 php, mysql 연관성 댓글3 인기글 rimsoft 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 02-27 4555
6 4강. [문법] 반복문 for, while 댓글7 인기글 rimsoft 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 02-25 3250
5 [그누보드관련] 쉬는 타임 댓글3 인기글 rimsoft 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 02-21 3368
열람중 3강. [문법] 조건문 if, else, elseif, switch 인기글 rimsoft 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 02-18 10939
게시물 검색

접속자집계

오늘
26
어제
82
최대
425
전체
358,808
그누보드5

림소프트 / 515-08-36933 / 제2014-경북경산-00079 / 양명주 / ifnelse@gmail.com
© Copyright rimsoft.co.kr . All Rights Reserved.

댓글이 달렸습니다.

모바일 버전으로 보기