elseif/else if

(PHP 4, PHP 5, PHP 7, PHP 8)

elseif는 이름에서 알 수 있듯이 ifelse의 조합입니다. 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로 평가된 경우에만 실행됩니다.

참고: elseifelse 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;

?>