✅ 1. 이항 연산자 (Binary Operator)
정의:
피연산자(값)를 두 개 받아서 처리하는 연산자입니다.
거의 대부분의 연산자가 여기에 속합니다.
예시:
$a = 10; $b = 5; $sum = $a + $b; // 덧셈: 15
$diff = $a - $b; // 뺄셈: 5
$bool = $a > $b; // 비교 연산: true
종류:
- 산술 연산자 (+, -, *, /, %)
- 비교 연산자 (==, ===, !=, >, <, <=, >=)
- 논리 연산자 (&&, ||, and, or)
- 대입 연산자 (=, +=, -=, .=)
- 비트 연산자 (&, |, ^, <<, >>)
✅ 2. 삼항 연산자 (Ternary Operator)
정의:
조건문을 한 줄로 축약해서 쓸 수 있는 3개의 피연산자를 가지는 연산자입니다.
문법:
조건 ? 참일_경우 : 거짓일_경우;
예시:
$age = 20; $message = ($age >= 18) ? "성인입니다" : "미성년자입니다";
echo $message; // 출력: 성인입니다
🔄 헷갈릴 수 있는 개념들
✅ Null 병합 연산자 (??)
PHP 7 이후 추가된 연산자로, 삼항 연산자처럼 보일 수 있지만 null 여부를 체크합니다.
$name = $_GET['name'] ?? '익명'; // $_GET['name']이 존재하고 null이 아니면 그 값, 아니면 '익명'
삼항 연산자와 달리 isset()을 대체하기 위해 사용합니다.
✅ Elvis 연산자 (?:)
삼항 연산자의 축약형입니다. 좌변이 참이면 그 값을 그대로, 거짓이면 우변을 반환합니다.
$username = $inputName ?: '게스트';
위는 다음과 같음:
$username = ($inputName) ? $inputName : '게스트';
✅ 단항 연산자 (Unary Operator)
피연산자 하나만 사용하는 연산자입니다.
$a = -5; // 부호 변경
$b = !$a; // 부정 (논리 NOT)
$c = ++$a; // 증가 연산
🔚 요약
연산자 종류 | 피연산자 수 | 예시 | 설명 |
단항 연산자 | 1 | -a, !a, ++a | 하나의 값만 처리 |
이항 연산자 | 2 | a + b, a > b | 두 값을 비교/계산 |
삼항 연산자 | 3 | a ? b : c | 조건식 축약 |
Elvis 연산자 | 2 | a ?: b | 삼항 축약 |
Null 병합 연산자 | 2 | a ?? b | null일 때 기본값 대입 |