PHP論理演算子の使い方解説!実用コード10選で理解を深める

PHPの論理演算子を使った実用コードのサンプルPHP
この記事は約9分で読めます。

 

【サイト内のコードはご自由に個人利用・商用利用いただけます】

この記事では、プログラムの基礎知識を前提に話を進めています。

説明のためのコードや、サンプルコードもありますので、もちろん初心者でも理解できるように表現してあります。

基本的な知識があればカスタムコードを使って機能追加、目的を達成できるように作ってあります。

※この記事は、一般的にプロフェッショナルの指標とされる『実務経験10,000時間以上』を凌駕する現役のプログラマチームによって監修されています。

サイト内のコードを共有する場合は、参照元として引用して下さいますと幸いです

※Japanシーモアは、常に解説内容のわかりやすさや記事の品質に注力しております。不具合、分かりにくい説明や不適切な表現、動かないコードなど気になることがございましたら、記事の品質向上の為にお問い合わせフォームにてご共有いただけますと幸いです。
(送信された情報は、プライバシーポリシーのもと、厳正に取扱い、処分させていただきます。)

はじめに

PHPの論理演算子は、プログラミングにおいて非常に重要な要素です。

これらの演算子は、条件分岐やループ制御など、プログラムの流れを制御するために頻繁に使用されます。

この記事では、PHPの論理演算子の基本的な使い方から、実用的なコードの例まで、初心者でも理解できるように詳しく解説します。

この記事を読めば、PHPの論理演算子を使ったプログラミングができるようになります。

●PHPの論理演算子とは

PHPの論理演算子は、複数の条件を組み合わせて評価するための演算子です。

主に次の4つの論理演算子があります。

  1. AND(&&): すべての条件が真であれば真を返します。
  2. OR(||): いずれかの条件が真であれば真を返します。
  3. XOR: いずれか一方の条件だけが真であれば真を返します。
  4. NOT(!): 条件が真であれば偽を、偽であれば真を返します。

これらの論理演算子は、if文やwhile文などの制御構造でよく使われます。

●PHP論理演算子の基本

それでは、PHPの論理演算子の基本的な使い方を見てみましょう。

各論理演算子の基本的な使用例を紹介します。

○サンプルコード1:基本的なAND演算子の使用

このコードでは、AND演算子を使って2つの条件を同時に評価しています。

年齢が20歳以上で、かつ所持金が3000以上であれば「入場できます」と表示します。

どちらか一方でも条件を満たさない場合は「入場できません」と表示します。

<?php
$age = 20;
$money = 5000;

if ($age >= 20 && $money >= 3000) {
    echo "入場できます。";
} else {
    echo "入場できません。";
}
?>

○サンプルコード2:基本的なOR演算子の使用

このコードでは、OR演算子を使って2つの条件のうち少なくとも1つを満たすかどうかを評価しています。

天気が雨であるか、または傘を持っている場合に「外出できます」と表示します。

どちらの条件も満たさない場合は「外出できません」と表示します。

<?php
$weather = "rainy";
$umbrella = true;

if ($weather == "rainy" || $umbrella == true) {
    echo "外出できます。";
} else {
    echo "外出できません。";
}
?>

○サンプルコード3:基本的なXOR演算子の使用

このコードでは、XOR演算子を使って2つの条件が一致するかどうかを評価しています。

lightとdarkのどちらか一方だけがtrueであれば「条件は一致します」と表示します。

両方ともtrue、または両方ともfalseの場合は「条件は一致しません」と表示します。

<?php
$light = true;
$dark = false;

if ($light xor $dark) {
    echo "条件は一致します。";
} else {
    echo "条件は一致しません。";
}
?>

○サンプルコード4:基本的なNOT演算子の使用

このコードでは、NOT演算子を使って条件がfalseであるかどうかを評価しています。

rainがfalseであれば「雨は降っていません」と表示します。

rainがtrueである場合は「雨が降っています」と表示します。

<?php
$rain = false;

if (! $rain) {
    echo "雨は降っていません。";
} else {
    echo "雨が降っています。";
}
?>

●PHP論理演算子の応用例

それでは、PHPの論理演算子を使った実用的なコードの例を見てみましょう。

複雑な論理式の評価や条件分岐、ループ制御、関数内での使用など、様々なシチュエーションでの論理演算子の使用例を紹介します。

○サンプルコード5:複雑な論理式の評価

このコードでは、複雑な論理式を評価しています。

年齢が20歳以上で所持金が3000以上、または会員であれば「入場できます」と表示します。

これらの条件をどちらも満たさない場合は「入場できません」と表示します。

<?php
$age = 20;
$money = 5000;
$member = true;

if (($age >= 20 && $money >= 3000) || $member == true) {
    echo "入場できます。";
} else {
    echo "入場できません。";
}
?>

○サンプルコード6:条件分岐における論理演算子の使用

このコードでは、成績と出席率の両方が80以上であるかどうかを評価しています。

両方とも80以上であれば「合格です」と表示します。

どちらか一方でも80未満であれば「不合格です」と表示します。

<?php
$score = 85;
$attendance = 90;

if ($score >= 80 && $attendance >= 80) {
    echo "合格です。";
} else {
    echo "不合格です。";
}
?>

○サンプルコード7:ループ制御における論理演算子の使用

このコードでは、1から10までの数で2と3の両方で割り切れる数を探しています。

2と3の両方で割り切れる数を見つけたら、その数を表示します。

<?php
for ($i = 1; $i <= 10; $i++) {
    if ($i % 2 == 0 && $i % 3 == 0) {
        echo $i . "は2と3の両方で割り切れます。<br>";
    }
}
?>

○サンプルコード8:関数内での論理演算子の使用

このコードでは、関数内で論理演算子を使用しています。

年齢が20歳以上で所持金が3000以上、または会員であればtrueを返し、それ以外の場合はfalseを返します。

<?php
function canEnter($age, $money, $member) {
    if (($age >= 20 && $money >= 3000) || $member == true) {
        return true;
    } else {
        return false;
    }
}

if (canEnter(20, 5000, false)) {
    echo "入場できます。";
} else {
    echo "入場できません。";
}
?>

○サンプルコード9:エラーチェックにおける論理演算子の使用

このコードでは、値が0未満または100超えている場合にエラーを返す関数を作成しています。

この関数を使ってエラーチェックを行い、エラーがある場合は「エラーが発生しました」と表示します。

<?php
function checkError($value) {
    if ($value < 0 || $value > 100) {
        return true;
    } else {
        return false;
    }
}

if (checkError(105)) {
    echo "エラーが発生しました。";
} else {
    echo "エラーはありません。";
}
?>

○サンプルコード10:データフィルタリングにおける論理演算子の使用

このコードでは、配列内の各ユーザーに対して年齢が20歳以上で会員であるかどうかをチェックしています。

条件を満たすユーザーの名前を表示します。

<?php
$users = [
    ['name' => 'Alice', 'age' => 20, 'member' => true],
    ['name' => 'Bob', 'age' => 25, 'member' => false],
    ['name' => 'Charlie', 'age' => 18, 'member' => true],
    ['name' => 'Dave','age' => 30, 'member' => false],
];

foreach ($users as $user) {
    if ($user['age'] >= 20 && $user['member'] == true) {
        echo $user['name'] . "さんは入場できます。<br>";
    }
}
?>

以上が、PHPの論理演算子の基本的な使い方と実用的なコードの例です。

これらのコードを参考に、自分のプログラムに論理演算子を活用してみてください。

●注意点と対処法

PHPの論理演算子を使う際には、いくつかの注意点があります。

  1. 論理演算子の優先順位: PHPの論理演算子には優先順位があります。
    AND演算子はOR演算子よりも優先順位が高いです。
    したがって、AND演算子とOR演算子を一緒に使う場合は、括弧を使って優先順位を明示的に指定することが推奨されます。
  2. 短絡評価: PHPの論理演算子は、短絡評価(short-circuit evaluation)を行います。
    これは、論理演算の結果が既に決定した時点で、残りの評価をスキップするというものです。
    例えば、OR演算子の場合、最初の条件がtrueであれば、2つ目の条件は評価されません。

これらの注意点を理解しておくことで、論理演算子をより効果的に使用することができます。

●カスタマイズ方法

PHPの論理演算子は、基本的には固定の動作をしますが、それを使ったコードは自由にカスタマイズすることが可能です。

例えば、複数の条件を組み合わせて複雑な論理式を作ったり、論理演算子を使った関数を作成したりすることができます。

また、論理演算子を使ってエラーチェックを行うコードなど、特定の目的に合わせてカスタマイズすることも可能です。

自分のニーズに合わせて、論理演算子を活用したコードを作成してみてください。

まとめ

この記事では、PHPの論理演算子の基本的な使い方と、それを使った実用的なコードの例を紹介しました。

論理演算子は、プログラムの流れを制御するための重要なツールです。

基本的な使い方から応用例までしっかりと理解し、自分のコードに活用してみてください。

また、論理演算子を使う際の注意点や、カスタマイズの方法についても触れました。

これらの知識を活かして、より効果的なプログラミングを行ってください。

これで、PHPの論理演算子についての基本的な知識と、それを使った実用的なコードの作成方法について学ぶことができました。

これらの情報が、あなたのプログラミング学習に役立つことを願っています。