PHP에서 '^' 연산자란?
PHP에서 '^' 기호는 비트 연산자(bitwise operator) 중 하나로, XOR(배타적 논리합, exclusive OR) 연산을 수행하는 데 사용됩니다. 이 연산자는 대상 변수들의 ASCII 값을 기준으로 비트 단위 계산을 수행하며, 그 결과를 확인하고자 할 때 활용됩니다.
XOR 연산의 동작 원리는 간단합니다. 값의 모든 비트에 대해 '^' 연산자가 다른 값의 해당 비트와 동일한지 검사합니다. 두 비트가 서로 같으면 결과로 0이 출력되고, 다르면 1이 출력됩니다.
XOR 진리표
| 비트 A | 비트 B | A ^ B 결과 |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 0 |
예제 코드
아래 예제는 '^' 연산자를 이용해 두 변수의 값을 서로 맞바꾸는(swap) 과정을 보여줍니다.
<?php
$x = "a";
$y = "b";
$x ^= $y;
$y ^= $x;
$x ^= $y;
echo $x;
echo " ";
echo $y;
?>
실행 결과
b
a
코드 설명
서로 다른 변수에 문자 값을 할당한 뒤, '^' 연산자를 사용해 두 변수에 대해 XOR 연산을 세 번 수행했습니다. 이 과정을 통해 두 변수의 값이 서로 교환되며, 최종 결과가 콘솔에 출력됩니다.
이처럼 XOR 연산은 임시 변수(temporary variable) 없이 두 변수의 값을 교환하는 데 유용하게 활용될 수 있습니다. 다만 실무 코드에서는 가독성과 유지보수성을 위해 list() 함수나 배열 구조 분해 할당을 사용하는 것이 일반적으로 권장됩니다.