☞ 조건문이란?
조건문이란 말 그대로 조건이 있는 문장이란 뜻이다. 간단한 예로 우리가 커피를 마실때 여러종류의 커피중 한가지를 선택하게 되는데, 이를 프로그램으로 만든다고 생각해보자. 그렇다면 제일먼저 사용자가 커피를 선택하는 부분을 만들것이고, 그다음으로 선택된 커피에 따라서 커피가 나오는 부분을 만들것이다. 이때 선택된 커피를 구분하는 부분은 조건문을 이용하여 만들것이다.
(버튼, 아이콘, 선택)
이처럼 조건문은 프로그래밍을 하는데 있어서 없어서는 안될 중요한 문법이다. 또한 어렵지 않게 배울 수 있기때문에, 기본적인 방법만 배운다면 앞으로 프로그래밍하는데 있어서 조건문을 많이 활용할 수 있다. 그렇다면 조건문에서 많이 쓰이는 것들은 무엇이 있는지 알아보도록하자.
일반적으로 조건문에서 많이 쓰이는건 if 문과 switch 문 등이 있다. 물론 그외 삼항 연산자 나 OR 연산자등이 있지만, 이러한 것들은 특수한 경우나 비교적 간단한 선택문일때 사용하기 때문에 여기서는 자주 볼 수 있는 if 문과, 간단한 비교문에서 쓸 수 있는 삼항 연산자에 대해 알아보도록 하자
☞ if 문과 if else문
if 문은 조건식에 따라서 그에 맞는 명령을 실행한다. 명령문이 여러개인 복문의 경우 괄호를 사용하여 범위를 지정해 주어야 한다. 또한 if 문이 여러개 있을경우 조건식에 맞는 첫번째 if문만 실행하는게 아니라 if문의 조건식에 맞는 모든 if 문을 실행하게 된다. 이러한 특징을 알아 두어야 하는 이유는 아래서 알아볼 else if 문과의 차이점 때문이다. 일단 if문의 기본형식과 간단한 예제를 살펴보도록 하자.
if 문
기본형식
① 단문일 떄 if(조건식) 명령문;
② 복문일 떄 if(조건식){ 명령문 1; 명령문 2; . . 명령문 n; }
예제
<?php $number= 50; /* 단문 */ if($number>10) echo "값이 10보다 큽니다. </br>"; /* 복문 */ if($number<60) { echo "값이 60보다 작습니다. </br>"; echo "현재 값은 ".$number." 입니다"; } /* ========결과========== 값이 10보다 큽니다. 값이 60보다 작습니다. 현재 값은 50 입니다 */ ?>
if else 문은 위에 나온 if 문에서 예외처리를 하는 부분만 추가 되었다고 생각하면 쉽게 이해 할수 있다. 즉 다시말해 if 문의 경우 조건식이 참일 경우에 실행하게 되는데 이때 조건식이 맞지 않을 경우에 처리할 수 있는 문법이 else 문이다. 한가지 주의할점은 else 문에서는 조건식이 불필요하다는것 이다. 아래는 기본 형식과 예제이다
if else 문
기본형식
if(조건식){ 명령문; } else{ 명령문 }
예제
<?php $number= 50; /* 값이 10보다 작을 경우 */ if($number<10) echo "값이 10보다 작습니다. </br>"; /* 그렇지 않을 경우 */ else{ echo "값이 10보다 큽니다. </br>"; echo "현재 값은 ".$number." 입니다"; } /* ========결과========== 값이 10보다 큽니다. 현재 값은 50 입니다 */ ?>
☞ else if 문
else if 문은 위에서 알아본 if 문과 별 다를게 없다. 하지만, 중요한점은 if 문은 조건식에 맞는 즉 참인 값은 모두 실행하는 반면, else if 문은 우선적으로 적용된 조건식이 조건에 맞을 경우 그 조건식만 실행한후 종료 하게 된다. 또한 중요한점은 else if 문이라고 해서 else if 부터 시작되는게 아니라 if 부터 시작된다는걸 명심해야한다. 아래는 else if 문의 기본형식과 예제이다.
else if 문
기본형식
if(조건식){ 명령문; } else if(조건식){ 명령문 } else if(조건식){ 명령문 } else{ 명령문 }
예제
<?php $number= 50; if($number>10){ echo "값이 10보다 큽니다. </br>"; } else if($number>20){ echo "값이 20보다 큽니다. </br>"; $number-=20; } else if($number>30){ echo "값이 30보다 큽니다. </br>"; $number-=30; } else { echo "값이 40보다 큽니다. </br>"; $number-=40; } echo "현재 값은 ".$number." 입니다"; /* ========결과========== 값이 10보다 큽니다. 현재 값은 50 입니다 */ ?>
위의 else if 문 예제의 결과값을 보면 알 수 있듯이 조건문이 if 문이 아닌 else if 문으로 쓰였을 때에는 우선순위에 있는 조건식이 맞을 시 그 조건식에 맞는 명령문을 실행한 후 종료를 하게 된다. 이러한 else if 문의 특징만 잘 이해한다면, if 문과 else if 문의 사용방법을 확실히 이해 할 수 있을것이다. 일반적으로 else if 문 같은 경우 하나의 변수를 검사할때 사용하며, 위에서는 else if 문을 특징을 보여주기위해 쉬운 예제로 나왔지만, 실제로 코딩할때에는 좀더 복잡한 조건식이 들어갈 것이다.
한가지더 알아본다면 위에서 나온 else if 문의 예제를 if 문으로도 표현할 수 있다. if 문으로 표현하기 위해서는 각 조건식에 맞는 명령문에다가 return 이라는 명령어를 넣어 주면된다. 하지만 이러한 방식은 실무에서 쓰이지 않기 때문에, 배워 둘 필요는 없다. 가장 중요한건, if 문과 else if 문이 어떤 경우에 각각 쓰이게 되는지 생각해 보는것이다.
☞ 삼항 연산자
삼항 연산자는 PHP 에서 가장 특수한 연산자이며, 본 명칭은 조건 연산자 불린다. 이 연산자의 이름이 삼항인 이유는 연산자 식에 세가지 피연산자가 들어가기 때문이다. 삼항 연산자의 기본형식은 아래와 같다.
비교수식 ? 참일경우 : 거짓일경우
위에서 삼항 연산자의 기본 형식을 보면 비교적 간단한 구조로 되어있다는걸 알 수 있다. 이는 삼항 연산자가 어느경우에 쓰이는지 잘 보여주는 예라고 할 수 있다. 이 말은 아래의 예제를 살펴보면 쉽게 알 수 있다.
<?php /* 삼항 연산자를 사용시 */ $number=50; echo $number>10?"값이 10보다 큽니다.":"값이 10보다 작습니다."; echo "<br>"; /* if else 문을 사용시 */ if($number > 10) echo "값이 10보다 큽니다."; else echo "값이 10보다 작습니다."; /* ========결과========== 값이 10보다 큽니다. 값이 10보다 큽니다. */ ?>
위의 예제를 보면 삼항 연산자의 경우 if else 문에 비해 비교적 간단한 연산자를 이용하여 결과값을 출력할 수 있다는것을 알 수 있다. 하지만 사용자가 프로그램 소스를 해석하는데 있어서는 삼항 연산자보단 if else 문이 더 쉽게 다가 올 수 있다. 물론 삼항 연산자를 많이 사용해본 사람들이게는 별차이가 없을 것이다.
이처럼 조건 연산자 if 문은 상황에 따라서 여러 방법으로 쓰일 수 있으며, 비교적 간단한 조건문이 필요할 때는 삼항 연산자를 사용하면 간결한 코딩을 할 수 있다는것을 알 수 있다.
'웹프로그래밍 > PHP 일반' 카테고리의 다른 글
PHP 의 smtp 전송을 이용한 메일 보내기 소스파일 (255) | 2015.06.23 |
---|---|
PHP 조건문 switch case (292) | 2015.06.02 |
PHP에서 한글 검사 99.9% 완벽한 알고리즘 (235) | 2015.04.28 |
PHP 정규 표현식의 규칙 모음 (235) | 2015.03.23 |
PHP 에서 composer 를 통한 의존성 패키지 관리 (1102) | 2015.03.20 |