こんなあなたにおすすめ
・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
オンラインスクール受講者数No.1!
・自宅にいながらオンライン完結で勉強できる
➡スクールへの移動時間を削減するため、効率的に学習可能!
・受講生に1人ずつ現役のプロのパーソナルメンターがつく
➡分からないことがわかるまで徹底的にメンターに質問可能!
・チャットで質問すればすぐに回答が返ってくる
➡レスポンスが速いから、わからないことをその場で解決!
・オリジナルサービスやオリジナルアプリなどの開発までサポート
➡就職、転職のときに役立つポートフォリオを開発可能!
無料で体験できるので、まずはお試し
>>TechAcademyの無料体験はこちら