반응형
■ 삼항 연산자
삼항 연산자는 "?"와 ":"를 이용한 조건부 연산자로 if 문과 비슷한 동작을 합니다.
(expr1) ? (expr2) : (expr3) |
expr1이 참이면 expr2를 반환하고, 거짓이면 expr3을 반환한다.
ex01.php |
<?php $_POST['action'] = NULL; // action 값이 NULL이므로 참이된다. $action = (empty($_POST['action'])) ? 'default' : $_POST['action']; echo $action; // 출력 : default //위 예제는 다음의 if / else 구문과 동일하다. if(empty($_POST['action'])) { $action = 'default'; } else { $action = $_POST['action']; } ?> |
ex02.php |
<?php // 얼핏 보기에, 'true'를 출력할 것 같다. echo(true ? 'true' : false ? 't' : 'f'); // 그러나 위의 실제 출력값은 't'이다. // 이는 삼항 표현이 왼쪽에서 오른쪽으로 비교하기 때문이다. // 다음은 위 코드와 동일한 더 명확한 형식이다. echo((true ? 'true' : 'false') ? 't' : 'f'); // 여기서, 첫 표현이 'true'로 평가되고, 이것이 // (bool) true로 평가된 후, 두 번째 삼항 표현의 treu 쪽을 반환한다. ?> |
ex03.php |
<?php echo 0 ?: 1 ?: 2 ?: 3; // 출력 : 1 echo 1 ?: 0 ?: 3 ?: 2; // 출력 : 1 echo 2 ?: 1 ?: 0 ?: 3; // 출력 : 2 echo 3 ?: 2 ?: 1 ?: 0; // 출력 : 3 echo 0 ?: 1 ?: 2 ?: 3; // 출력 : 1 echo 0 ?: 0 ?: 2 ?: 3; // 출력 : 2 echo 0 ?: 0 ?: 0 ?: 3; // 출력 : 3 ?> |
반응형
'PHP > PHP Programming' 카테고리의 다른 글
[PHP] foreach문 사용방법 (0) | 2015.05.05 |
---|---|
[PHP] (\)역슬래시 기호 삭제하는 stripslashes( ) 함수 (0) | 2015.04.21 |
[PHP] 디렉터리 열기 함수 (0) | 2015.04.19 |
[PHP] 세션 쿠키 설정 함수 (0) | 2015.04.08 |
[PHP] 클래스의 기본문법 (3) | 2015.04.07 |