PHP의 삼항 연산자
사용자가 18세 이상인지 아닌지 확인하는 다음과 같은 코드가 있다고 가정해 보겠습니다:
<?php
$age = 17;
if ($age >= 18) {
$adult = true;
} else {
$adult = false;
}
var_dump($adult);
?>
보시다시피, if-else 구문은 변수 $adult에 특정 값을 할당하기 위해서만 사용됩니다.
조건문에서 단일 변수에 대한 할당만 수행하는 경우, 소위 삼항 연산자를 통한 더 짧은 해결책이 존재합니다.
그 구문은 다음과 같습니다:
<?php
variable = condition ? value1 : value2;
?>
연산자의 작동 방식: 조건이 참이면 value1이 반환되고, 그렇지 않으면 value2가 반환됩니다.
강의 초반에 제시된 코드를 삼항 연산자를 사용하여 다시 작성해 보겠습니다:
<?php
$age = 17;
$adult = $age >= 18 ? true: false;
var_dump($adult);
?>
결과를 변수에 할당하지 않고, var_dump를 통해 즉시 출력하는 것도 가능합니다:
<?php
$age = 17;
var_dump( $age >= 18 ? true: false );
?>
삼항 연산자는 코드 이해를 어렵게 만들 수 있으므로 가장 간단한 경우에만 사용해야 합니다.
변수 $num이 음수일 수도 있고 양수일 수도 있다고 가정합니다.
변수 $num이 0보다 크거나 같으면 숫자 1을, 변수 $num이 0보다 작으면 숫자 -1을 변수 $res에 할당하십시오.