if 와 else 문의 장황함을 피하는 방법 중 하나는 더욱 간결한 삼항 연산자(conditional operator)인 ? 를 사용하는 것이다.
예제를 통해 살펴보자.
$message = 'Hello '.($user->is_logged_in() ? $user->get('first_name') : 'Guest');
/* shorthand usage */
$message = 'Hello '.($user->get('first_name') ?: 'Guest');
/* "thankfully-you-don't-need-to-maintain-this" level */
$days = ($month == 2 ? ($year % 4 ? 28 : ($year % 100 ? 29 : ($year %400 ? 28 : 29))) : (($month - 1) % 7 % 2 ? 30 : 31)); //returns days in the given month
/* If condition is true then assign a to result otheriwse b */
/* 조건이 참이면 a를 할당하고, 거짓이면 b를 할당
$result = ($a < $b ) ? $a :$b;
function xx($a,$b)
{
$rs = ($a > $b) ? $a : $b ;
return $rs;
}
<?php
$j = 11;
while($j-- > -10) {
if($j == 0 ) continue; // 0 으로 나누는 것을 방지하기 위한 목적
echo "$j". (10/$j) . "<br />";
}
?>