PHP에서 조건에 따라 값을 처리할 때는 if-else 문과 삼항 연산자(?) 어느 쪽이든 사용할 수 있습니다. 다만 보다 간결하고 전문적인 코드를 작성하고 싶다면 삼항 연산자를 활용하는 것이 좋습니다. 참고로 두 방식의 실행 성능은 동일하므로, 코드 가독성과 상황에 맞춰 선택하면 됩니다.
예를 들어 다음과 같이 두 개의 변수가 있다고 가정해 보겠습니다.
$value1=10; $value2=0;
이 두 변수의 값을 비교해야 할 때는 아래 예제처럼 삼항 연산자를 중첩하여 사용할 수 있습니다.
예제
<!DOCTYPE html> <html> <body> <?php $value1=10; $value2=0; $data=550000; $output=$value1 ? $value2 : $value2 ? : $data; echo "The value is=",$output; ?> </body> </html>
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
출력 결과
The value is=550000
결과 해설
$value1이 10으로 참(truthy)이므로 첫 번째 조건식은 $value2(0)를 반환합니다. 하지만 0은 거짓(falsy)에 해당하기 때문에, 단축 삼항 연산자(?:)가 이를 대체하여 $data 값인 550000을 최종적으로 반환하게 됩니다. 이처럼 삼항 연산자를 적절히 조합하면 if-else 문보다 훨씬 짧은 코드로 동일한 로직을 구현할 수 있습니다.