PHP 기본 문법 – 연산자 – 5 – 기타 연산자 (배열 연산자, 삼항 연산자 등)

PHP 기본 문법 - 연산자 - 5 - 기타 연산자 (배열 연산자, 삼항 연산자 등)
PHP 기본 문법 – 연산자 – 5 – 기타 연산자 (배열 연산자, 삼항 연산자 등)

PHP 기본 문법 – 연산자 – 5 – 기타 연산자 (배열 연산자, 삼항 연산자 등)

안녕하세요 여러분 😊 오늘은 PHP의 기타 연산자들에 대해 알아보는 시간을 가져볼게요.
앞서 산술, 비교, 논리 연산자들을 배웠다면, 이번 시간에는 조금 더 특별하고 실용적인 연산자들을 소개해드릴게요.
특히 배열 연산자와 삼항 연산자, 그리고 Null 병합 연산자 같은 녀석들은
실무에서 아주 요긴하게 쓰이기 때문에 꼭 알아두셔야 해요!


배열 연산자

배열도 비교하거나 병합할 수 있을까요?
네~ 물론이죠! PHP에서는 배열 간에도 연산이 가능해요.
특히 +, ==, ===, !=, <>, !== 같은 연산자를 사용할 수 있답니다.

배열 연산자 종류와 설명

연산자 설명
+ 두 배열을 병합합니다. 키가 겹치면 첫 번째 배열의 값이 유지돼요.
== 두 배열이 값과 키의 쌍이 같으면 true
=== 두 배열이 값, 키 그리고 순서까지 같아야 true
!=, <> 두 배열이 같지 않으면 true
!== 두 배열이 같지 않거나, 순서가 다르면 true

예시 코드

<?php
$a = ["a" => 1, "b" => 2];
$b = ["b" => 3, "c" => 4];

$c = $a + $b;
print_r($c);
// 결과: Array ( [a] => 1 [b] => 2 [c] => 4 )
?>

📝 비유하자면, 배열의 + 연산자는 마치 두 사람의 짐을 합쳐 하나의 가방에 담는 것과 같아요.
먼저 넣은 짐은 우선권을 가지기 때문에 먼저 오는 배열의 값이 우선시돼요!


삼항 연산자 (Ternary Operator)

조건문을 한 줄로 축약해서 쓸 수 있는 연산자예요.
if-else 구조를 간단하게 표현하고 싶을 때 삼항 연산자가 정말 유용해요.

기본 문법

조건 ? 참일 때의 값 : 거짓일 때의 값;

예시 코드

<?php
$age = 20;
$result = ($age >= 19) ? "성인입니다." : "미성년자입니다.";
echo $result;  // 출력: 성인입니다.
?>

🌱 비유하자면, 삼항 연산자는 마치 패스트푸드점에서 “먹고 갈래요? 포장할래요?” 한 줄로 물어보는 느낌이에요.
빠르고 간단하게 상황을 처리할 수 있어요!


Null 병합 연산자 (??)

PHP 7.0부터 도입된 아주 편리한 연산자예요.
변수가 존재하지 않거나 null일 경우 기본값을 설정할 때 사용돼요.

문법

$변수 ?? 기본값;

예시 코드

<?php
$name = $_GET['name'] ?? '손님';
echo "안녕하세요, $name 님!";
?>

위 코드는 URL에 ?name=철수가 없으면 '손님'이라는 기본값을 사용해요.
🌤️ 마치 우산을 챙길지 말지 고민하다가 “비 안 오면 다행이고, 오면 이 우산 쓰자!” 하는 상황과 비슷하죠!


중첩 삼항 연산자 (주의!)

삼항 연산자를 여러 번 겹쳐 쓰면 혼란스러울 수 있어요.

<?php
$score = 85;
$result = ($score >= 90) ? "A" : (($score >= 80) ? "B" : "C");
echo $result;
?>

이런 식으로도 사용은 가능하지만, 너무 중첩되면 가독성이 떨어지기 때문에
if-else문으로 바꾸는 것이 더 안전할 수 있어요.


PHP 8.0 도입된 Match 표현식 (보너스)

삼항 연산자의 업그레이드 버전인 match 표현식도 최근엔 많이 써요!

<?php
$grade = 90;

echo match (true) {
    $grade >= 90 => 'A',
    $grade >= 80 => 'B',
    $grade >= 70 => 'C',
    default => 'F',
};
?>

가독성도 높고, 명시적이며 에러 발생 가능성이 낮아요.
복잡한 조건 분기에는 이 match가 삼항보다 더 깔끔하답니다 😊


주의해야 할 점 정리

✅ 배열 연산자 +는 단순한 병합이지, 숫자처럼 합치는 게 아닙니다!
✅ 삼항 연산자는 중첩되면 복잡해지니, 2단계 이상일 땐 ifmatch 권장!
??는 isset보다 직관적이지만, PHP 7.0 이상에서만 동작해요
match는 PHP 8.0 이상 버전에서만 사용 가능하니 버전 확인은 필수!


마무리하며 😊

오늘 배운 기타 연산자들은 평소엔 자주 쓰지 않지만,
알아두면 실무에서 편리함을 두 배 세 배로 만들어주는 숨은 보석 같은 존재랍니다.

여러분도 직접 코드에 적용해 보시면서 진짜 내 것으로 체득해보세요.
처음엔 낯설지만, 곧 익숙해지고, 나중엔 없어선 안 될 도구가 되어줄 거예요!

그럼 다음 시간엔 더 흥미로운 PHP 주제로 찾아뵐게요! 감사합니다 🙏
오늘도 즐코하세요 💻🌟

답글 남기기