본문으로 바로가기

[PHP] 삼항 연산자

category 코딩/PHP 2015. 6. 1. 15:56
// 사용 예제: 삼항 연산자

$action = (empty($_POST['action'])) ? 'default' : $_POST['action'];

// 위 예제는 다음의 if/else 구문과 동일합니다
if (empty($_POST['action'])) {
   $action = 'default';
} else {
   $action = $_POST['action'];
}

(expr1) ? (expr2) : (expr3) 표현은 expr1이 TRUE이면 expr2로 평가되고, expr1이 FALSE이면 expr3로 평가됩니다.

PHP 5.3부터, 삼항 연산자의 중간 부분을 비울 수 있습니다. 표현식 expr1 ?: expr3은 expr1이 TRUE이면 expr1, 아니면 expr3를 반환합니다.

 

Note

삼항 연산자는 구문이므로, 변수로 평가되지 않고 구문의 결과로 평가되는 점에 주의하십시오. 이 점은 참조로 변수를 반환할 때 중요합니다. 그러므로 참조로 반환하는 함수에서 return $var == 42 ? $a : $b; 구문은 작동하지 않고, 경고가 발생합니다.

 

출처

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