XOR演算子(排他的論理和)は、2つの条件のうちどちらか一方だけが真(true)の場合に真を返し、両方が真または両方が偽(false)の場合に偽を返す演算子です。PHPでは xor
として使用します。
XOR演算子の特徴
- 条件1が真で条件2が偽の場合、結果は真。
- 条件1が偽で条件2が真の場合、結果は真。
- 条件1と条件2の両方が真の場合、結果は偽。
- 条件1と条件2の両方が偽の場合、結果は偽。
実際の活用例
基本的な使い方
PHP
$a = true;
$b = false;
$result = $a xor $b; // true になります
$a = true;
$b = true;
$result = $a xor $b; // false になります
実際のコード例
PHP
function canAccessFeature($isAdmin, $isBetaTester) {
// 管理者またはベータテスターのいずれか一方のみが機能にアクセスできる
return $isAdmin xor $isBetaTester;
}
$isAdmin = true;
$isBetaTester = false;
if (canAccessFeature($isAdmin, $isBetaTester)) {
echo "この機能にアクセスできます";
} else {
echo "この機能にアクセスできません";
}
演算子の優先順位について
XOR演算子の優先順位は他の論理演算子(ANDやOR)よりも低いです。したがって、複数の演算子を組み合わせる場合は、カッコを使って優先順位を明確にすることが重要です。
例
PHP
$a = true;
$b = false;
$c = true;
// XOR の優先順位が低いため、($a or $b) xor $c と同じ意味になります
$result = $a or $b xor $c; // $a or ($b xor $c) とすることで意図を明確にできます
if ($result) {
echo "条件は真です";
} else {
echo "条件は偽です";
}
XOR演算子の使いどころ
XOR演算子は特定の状況でのみ役立ちますが、条件のどちらか一方のみが真であることを確認したい場合に非常に有用です。たとえば、ユーザーが管理者またはベータテスターのどちらか一方であるが、両方ではない場合に特定の機能を提供する場合などです。