소개
하나 이상의 문장을 조건에 따라 실행하는 것은 모든 프로그래밍 언어에서 가장 핵심적인 기능 중 하나입니다. PHP는 if, else, elseif 문을 통해 이러한 조건부 실행 기능을 제공합니다.
if 문의 기본적인 사용 형태는 다음과 같습니다.
if 문 기본 문법
if (expression) statement;
if 키워드 앞에 위치한 표현식(expression)은 논리 표현식으로, 평가 결과가 TRUE 또는 FALSE로 결정됩니다. 결과값이 TRUE이면 다음 줄의 문장이 실행되고, FALSE이면 해당 문장은 무시됩니다.
만약 표현식이 TRUE일 때 여러 개의 문장을 실행해야 한다면, 추가로 한 쌍의 중괄호({ })를 사용하여 문장들을 그룹으로 묶어줍니다.
if (expression){
statement1;
statement2;
..
}else 문과 함께 사용하기
표현식이 FALSE일 때 다른 문장 또는 문장 그룹을 실행해야 하는 경우에는 else 키워드를 사용합니다. else 아래에 또 다른 중괄호 쌍 안에 하나 이상의 문장을 작성하면 됩니다.
if (expression){
statement1;
statement2;
..
} else {
statement3;
statement4;
..
}다음 예제는 if와 else 키워드의 전형적인 사용 방법을 보여줍니다. 이 코드는 명령줄 환경에서 readline() 함수를 사용하여 키보드 입력을 받아들이며, 입력받은 점수가 50점 이상인지에 따라 '합격' 또는 '불합격' 결과를 화면에 출력합니다.
예제
<?php
$marks=(int)readline("enter marks: ");
if ($marks>=50){
echo "The result is pass" . "\n";
echo "congratulations" . "\n";
}
else{
echo "The result is Fail". "\n";
echo "Better luck next time" . "\n";
}
?>출력 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
The result is Fail Better luck next time
elseif 문으로 여러 조건 처리하기
실제 개발에서는 첫 번째 조건이 거짓일 때, 또 다른 조건이 충족되는지 확인해야 하는 경우가 자주 발생합니다. 이럴 때 첫 번째 if 문의 else 절 안에 새로운 if 문을 중첩해서 사용할 수 있지만, if-else 블록이 연달아 이어지는 계단식 구조가 되면 코드가 복잡하고 지저분해집니다. PHP는 이러한 문제를 해결하기 위해 elseif 문을 제공합니다.
키워드 이름에서 알 수 있듯이, elseif는 if와 else 키워드의 조합입니다. else와 비슷하게 동작하지만 약간의 차이점이 있습니다. 코드의 조건 로직에 여러 개의 if 조건이 존재할 때, 프로그램의 실행 흐름은 elseif 조건문들의 연쇄 구조를 따라 내려가다가 처음으로 TRUE로 평가되는 elseif 표현식을 만나면 해당 블록을 실행한 후 전체 조건문을 빠져나갑니다. 마지막 조건 블록은 else 절에 속하며, 앞선 모든 if 및 elseif 표현식이 FALSE일 경우에만 실행됩니다.
elseif 문법
if (expression){
statement;
}
elseif (expression){
statement;
}
elseif (expression){
statement;
}
.
.
else{
statement;
}다음 예제에서는 elseif 문을 사용하여 입력받은 점수를 기준으로 학생의 등급(석차)을 계산합니다.
예제
<?php
$marks=(int)readline("enter marks: ");
if ($marks<35)
echo "fail";
elseif ($marks<50)
echo "pass class";
elseif ($marks<60)
echo "second class";
elseif ($marks<75)
echo "first class";
else
echo "distinction";
?>출력 결과
입력된 점수가 35점 미만일 경우 위 코드는 다음과 같은 결과를 출력합니다.
fail
마무리
지금까지 PHP의 조건문인 if, else, elseif의 기본 문법과 실전 예제를 살펴보았습니다. if 문은 단순 조건 판단에, else 문은 조건이 거짓일 경우의 대체 실행에, elseif 문은 여러 조건을 순차적으로 검사할 때 각각 유용하게 활용됩니다. 이 세 가지 문법을 적절히 조합하면 복잡한 비즈니스 로직도 깔끔하고 가독성 좋게 구현할 수 있습니다.