삼항 연산자는 “?” 와 “:”를 이용한 조건부 연산자로 if문과 비슷하게 동작합니다.
(expr1) ? (expr2) : (expr3)
expr1이 참이면 expr2를 반환하고, 거짓이면 expr3을 반환하는 식입니다. 그리고 php5.3부터 “expr1 ?: expr3” 형식으로 expr2을 비울 수 있습니다.
<?php
$_POST['action'] = NULL;
$action = (empty($_POST['action'])) ? 'default' : $_POST['action'];
if (empty($_POST['action'])) {
$action = 'default';
} else {
$action = $_POST['action'];
}
?>
<?php
echo (true ? 'true' : false ? 't': 'f');
echo ((true ? 'true' : 'false') ? 't' : 'f');
?>
<?php
echo 0 ?: 1 ?: 2 ?: 3;
echo 1 ?: 0 ?: 3 ?: 2;
echo 2 ?: 1 ?: 0 ?: 3;
echo 3 ?: 2 ?: 1 ?: 0;
echo 0 ?: 1 ?: 2 ?: 3;
echo 0 ?: 0 ?: 2 ?: 3;
echo 0 ?: 0 ?: 0 ?: 3;
?>
<?php
$var = '<option .="" :="" selected="selected" status="=" value="1">Value 1</option>';
$var = '<option .="" :="" selected="selected" status="=" value="1">Value 1</option>';
?>