PHPのxor – どちらか一方だけが真(true)

PHPのxor – どちらか一方だけが真(true)
WordPress学習におすすめの書籍

Amazonの読み放題サービスKindle Unlimited無料体験キャンペーン実施中!

Amazon Kindle Unlimited 公式

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演算子は特定の状況でのみ役立ちますが、条件のどちらか一方のみが真であることを確認したい場合に非常に有用です。たとえば、ユーザーが管理者またはベータテスターのどちらか一方であるが、両方ではない場合に特定の機能を提供する場合などです。

制作のご相談・ご依頼はこちらから!

Author

WARACRO(ワラクロ)

2018年に起業し、Webデザイナー・WebディレクターとしてWordPress案件を中心にWeb制作のお仕事をしています。
このブログでは、Webサイト制作に関する情報をお届けしています。

Webデザイン学習におすすめの講座
To Top