PHP/포스팅

[PHP] 삼항 연산자 조건문

짜집퍼박사(짜박) 2024. 6. 2. 21:23

PHP의 삼항 연산자는 간단한 조건문을 한 줄로 표현할 수 있는 유용한 도구입니다. 삼항 연산자는 조건 ? 참일 때의 값 : 거짓일 때의 값 형식으로 사용되며, 기본적인 조건문을 더욱 간결하게 작성할 수 있게 해줍니다.

 

삼항 연산자 기본 문법

$variable = (condition) ? true_value : false_value;

- condition은 평가될 조건식입니다.
- true_value는 조건식이 참일 경우 반환될 값입니다.
- false_value는 조건식이 거짓일 경우 반환될 값입니다.

 

예제 1: 기본 사용법

$age = 20;
$is_adult = ($age >= 18) ? 'Yes' : 'No';
echo $is_adult; // 출력: Yes

이 예제에서는 $age가 18 이상인지를 검사하여, 조건이 참이면 Yes를, 거짓이면 No를 $is_adult에 할당합니다.

 

예제 2: 중첩 삼항 연산자

삼항 연산자는 중첩해서 사용할 수 있지만, 너무 많이 중첩하면 코드가 복잡해지고 가독성이 떨어질 수 있습니다.

$score = 85;
$grade = ($score >= 90) ? 'A' : (($score >= 80) ? 'B' : (($score >= 70) ? 'C' : 'F'));
echo $grade; // 출력: B

이 예제에서는 점수에 따라 학점을 할당합니다. 90 이상이면 'A', 80 이상이면 'B', 70 이상이면 'C', 그 외에는 'F'를 할당합니다.

 

예제 3: 함수와 함께 사용

함수와 함께 삼항 연산자를 사용할 때도 유용합니다.

function check_age($age) {
    return ($age >= 18) ? 'You are an adult.' : 'You are not an adult.';
}

echo check_age(20); // 출력: You are an adult.
echo check_age(16); // 출력: You are not an adult.

이 예제에서는 함수 check_age를 정의하여, 나이에 따라 성인인지 아닌지를 반환합니다.

 

예제 4: 삼항 연산자와 null 병합 연산자 비교

PHP 7부터 도입된 null 병합 연산자 ??는 삼항 연산자와 비슷한 기능을 하며, 변수가 설정되지 않았거나 null일 때 기본값을 지정할 때 유용합니다.

// 삼항 연산자 사용
$username = isset($_GET['user']) ? $_GET['user'] : 'guest';
echo $username;

// null 병합 연산자 사용
$username = $_GET['user'] ?? 'guest';
echo $username;

두 예제 모두 URL에서 user 파라미터를 가져오고, 값이 없으면 guest를 기본값으로 사용합니다. null 병합 연산자가 더 간결하고 읽기 쉬운 경우가 많습니다.

 

주의 사항

- 삼항 연산자를 과도하게 중첩해서 사용하면 코드가 읽기 어려워질 수 있습니다. 예를 들어, 여러 조건을 처리해야 할 때는 차라리 if-else 문을 사용하는 것이 더 나을 수 있습니다.
- 간단한 조건문에는 유용하지만, 복잡한 로직이 필요한 경우에는 if-else 문을 사용하는 것이 더 좋습니다.
- 삼항 연산자는 가독성을 높이는 데 유용하지만, 다른 사람이 코드를 이해하기 어렵게 만들지 않도록 주의해야 합니다.

 

삼항 연산자는 코드의 간결성을 높이는 데 유용하지만, 가독성을 유지하는 것도 중요합니다. 상황에 맞게 적절하게 사용하는 것이 좋습니다.

 

With ChatGPT

'PHP > 포스팅' 카테고리의 다른 글

[PHP] for 반복문  (0) 2024.06.02
[PHP] null 병합 연산자 조건문  (0) 2024.06.02
[PHP] switch 조건문  (0) 2024.04.29
[PHP] if-elseif-else 조건문  (0) 2024.04.29
[PHP] if-else 조건문  (0) 2024.04.29