PHP入門 論理演算子の使い方

こんなあなたにおすすめ

・PHPで論理演算子の使い方を知りたい

PHPで論理演算子は、if文やfor文の条件式でよく使います。

今回は、比較演算子の使い方について解説します。

 

論理演算子が使えると、条件式を複数書くときにとっても楽になります。

他にも演算子はいろいろあるので、興味のある方は以下をご参照ください。

論理演算子の種類

論理演算子の種類は、以下の通りです。

演算子 コード 名前 説明
and $a and $b 論理積 $a と $b の両方が true の場合に true
and $a && $b 論理積 $a と $b の両方が true の場合に true
or $a or $b 論理和 $a または $b のどちらかが trueの場合に true
or $a || $b 論理和 $a または $b のどちらかが trueの場合に true
xor $a xor $b 排他的論理和 $a または $b のどちらかが trueでかつ両方とも trueでない場合に true
not ! $a 否定 $a が trueでない場合にtrue

論理演算子 サンプルコード

and

2つの条件式を「and」または「&&」でつなげ、両方がTrueのときにTrueが出力されるプログラムを見ていきましょう。
※0:False 1:True

【コード】

<?php
  for ($i = 0; $i  5; $i++) {

    $a = rand(0, 1);  // 0 または 1 をランダムで$aに格納
    $b = rand(0, 1);  // 0 または 1 をランダムで$bに格納

    echo ($i + 1) . "回目の処理:"; // 処理回数を出力

    if ($a == 1 && $b == 1) {
      echo "a=" . $a . ", b=" . $b . " -> True"; // 結果を出力
    } else {
      echo "a=" . $a . ", b=" . $b . " -> False"; // 結果を出力
    }

    echo "
"; // 改行コード } ?>

【結果】

1回目の処理:a=1, b=0 -> False
2回目の処理:a=1, b=1 -> True
3回目の処理:a=0, b=0 -> False
4回目の処理:a=0, b=0 -> False
5回目の処理:a=0, b=1 -> False

$aと$bが両方ともTrueのときにTrueが出力されていることがわかります。

or

2つの条件式を「or」または「||」でつなげ、どちらかががTrueのときにTrueが出力されるプログラムを見ていきましょう。
※0:False 1:True

【コード】

<?php
  for ($i = 0; $i  5; $i++) {

    $a = rand(0, 1);  // 0 または 1 をランダムで$aに格納
    $b = rand(0, 1);  // 0 または 1 をランダムで$bに格納

    echo ($i + 1) . "回目の処理:"; // 処理回数を出力

    if ($a == 1 && $b == 1) {
      echo "a=" . $a . ", b=" . $b . " -> True"; // 結果を出力
    } else {
      echo "a=" . $a . ", b=" . $b . " -> False"; // 結果を出力
    }

    echo "
"; // 改行コード } ?>

【結果】

1回目の処理:a=1, b=1 -> True
2回目の処理:a=1, b=0 -> True
3回目の処理:a=1, b=1 -> True
4回目の処理:a=0, b=0 -> False
5回目の処理:a=1, b=0 -> True

$aと$bがどちらかがTrueのときにTrueが出力されていることがわかります。

xor

2つの条件式を「xor」でつなげ、どちらかががTrueのときにTrue、両方がTrueのときにFalseが出力されるプログラムを見ていきましょう。
※0:False 1:True

【コード】

<?php
  for ($i = 0; $i  5; $i++) {

    $a = rand(0, 1);  // 0 または 1 をランダムで$aに格納
    $b = rand(0, 1);  // 0 または 1 をランダムで$bに格納

    echo ($i + 1) . "回目の処理:"; // 処理回数を出力

    if ($a == 1 xor $b == 1) {
      echo "a=" . $a . ", b=" . $b . " -> True"; // 結果を出力
    } else {
      echo "a=" . $a . ", b=" . $b . " -> False"; // 結果を出力
    }

    echo "
"; // 改行コード } ?>

【結果】

1回目の処理:a=1, b=1 -> False
2回目の処理:a=1, b=0 -> True
3回目の処理:a=0, b=0 -> False
4回目の処理:a=1, b=0 -> True
5回目の処理:a=0, b=0 -> False

not

与えられた結果がFalseならTrueが出力されるプログラムを見ていきましょう。
※0:False 1:True

【コード】

<?php
  for ($i = 0; $i  5; $i++) {

    $a = rand(0, 1);  // 0 または 1 をランダムで$aに格納

    echo ($i + 1) . "回目の処理:"; // 処理回数を出力

    if (!($a == 1)) {
      echo "a=" . $a . " -> True"; // 結果を出力
    } else {
      echo "a=" . $a . " -> False"; // 結果を出力
    }

    echo "
"; // 改行コード } ?>

【結果】

1回目の処理:a=1 -> False
2回目の処理:a=1 -> False
3回目の処理:a=0 -> True
4回目の処理:a=1 -> False
5回目の処理:a=0 -> True

まとめ

ここまで、論理演算子の使い方について解説しました。

論理演算子をマスターすることで、if文やfor文にも生きるので、ぜひ使ってみてください。

if文、for文については、以下をご参照ください。

本で学習したい方には、以下の参考書がおすすめです。
>>独習PHP

エンジニアを目指すなら、TechAcademy!
オンラインスクール受講者数No.1!

・自宅にいながらオンライン完結で勉強できる
➡スクールへの移動時間を削減するため、効率的に学習可能!

・受講生に1人ずつ現役のプロのパーソナルメンターがつく
➡分からないことがわかるまで徹底的にメンターに質問可能!

・チャットで質問すればすぐに回答が返ってくる
➡レスポンスが速いから、わからないことをその場で解決!

・オリジナルサービスやオリジナルアプリなどの開発までサポート
➡就職、転職のときに役立つポートフォリオを開発可能!

無料で体験できるので、まずはお試し
>>TechAcademyの無料体験はこちら

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です