elseif/else if
(PHP 4, PHP 5, PHP 7, PHP 8)
elseif
는 이름에서 알 수 있듯이 if
와 else
의 조합입니다. else
와 마찬가지로 원래 if
식이 false
로 평가되는 경우 다른 문을 실행하도록 if
문을 확장합니다. 그러나 else
와 달리 elseif
조건식이 true
로 평가되는 경우에만 해당 대체 표현식을 실행합니다. 예를 들어, 다음 코드는 a가 b보다 크거나, a가 b와 같거나, a가 b보다 작음을 표시합니다.
<?php
if ($a > $b) {
echo "a is bigger than b";
} elseif ($a == $b) {
echo "a is equal to b";
} else {
echo "a is smaller than b";
}
?>
동일한 if
문 안에 여러 elseif
가 있을 수 있습니다. true
로 평가되는 첫 번째 elseif
표현식(있는 경우)이 실행됩니다. PHP에서는 'else if
'(두 단어로)를 작성할 수도 있으며 동작은 'elseif
'(한 단어로)와 동일합니다. 구문적 의미는 약간 다르지만(C에 익숙하다면 이는 동일한 동작입니다) 결론은 둘 다 정확히 동일한 동작을 초래한다는 것입니다.
elseif
문은 이전 if
표현식과 이전 elseif
표현식이 false
로 평가되고 현재 elseif
표현식이 true
로 평가된 경우에만 실행됩니다.
참고: elseif
와 else if
는 위의 예에서와 같이 중괄호를 사용할 때만 정확히 동일한 것으로 간주됩니다. 콜론을 사용하여 if/elseif
조건을 정의할 때 else if
를 두 단어로 분리해서는 안 됩니다. 그렇지 않으면 PHP가 구문 분석 오류와 함께 실패합니다.
<?php
/* Incorrect Method: */
if ($a > $b):
echo $a." is greater than ".$b;
else if ($a == $b): // Will not compile.
echo "The above line causes a parse error.";
endif;
/* Correct Method: */
if ($a > $b):
echo $a." is greater than ".$b;
elseif ($a == $b): // Note the combination of the words.
echo $a." equals ".$b;
else:
echo $a." is neither greater than or equal to ".$b;
endif;
?>