この記事で学べる知識:比較演算子と論理演算子
この記事の練習問題を解くために必要な知識:
比較演算子と論理演算子、if文による分岐処理、条件演算子、switch文による分岐処理、for文による繰り返し処理、while文による繰り返し処理、繰り返しの制御、エラーメッセージ、例外処理
<<前のページ | PHP記事一覧 |
次のページ>> |
PHPの「比較演算子と論理演算子」とは
この章ではPHPにおける「比較演算子と論理演算子」の意味や使い方を学習します。
プログラムは条件を満たすかどうかを判断しながら動作します。
この判断を可能にするのが「比較演算子」と「論理演算子」です。比較演算子は「値を比較」し、論理演算子は「複数の条件を組み合わせ」ます。
これらは、今後学ぶ条件分岐(if文など)の基礎となる重要な要素です。
比較演算子
比較演算子は次のような形で、2つの値を比較します:
演算子 | 意味 | 例 | 結果 |
=== | 等しい(型も一致) | 5 === 5 | true |
!== | 等しくない | 5 !== 6 | true |
< | 小さい | 3 < 5 | true |
> | 大きい | 7 > 5 | true |
<= | 以下 | 5 <= 5 | true |
>= | 以上 | 6 >= 5 | true |
次のコードは比較演算子を使った例です:
<?php $a = 10; $b = 5; // 比較結果を変数に保存 $isGreater = $a > $b; // $aが$bより大きければtrueを返す var_dump($isGreater); // true // 等価性をチェック $isEqual = $a === $b; // $aが$bと等しく、型も同じ場合true var_dump($isEqual); // false
演算の結果は真偽値(true
または false
)として返され、これを他の処理で利用できます。
なお、PHPでは型が異なる場合の挙動に注意が必要です:
<?php $result1 = (5 == "5"); // true(値が等しいため) $result2 = (5 === "5"); // false(型が異なるため) var_dump($result1, $result2);
論理演算子
論理演算子は複数の条件を組み合わせるために使います:
演算子 | 意味 | 例 | 結果 |
&& | AND(かつ) | true && false | false |
|| | OR(または) | true || false | true |
! | NOT(否定) | !true | false |
次のコードは論理演算子を使用した例です:
<?php $a = 10; $b = 5; $c = 15; // AND演算子 $andResult = ($a > $b) && ($a < $c); // 両方の条件がtrueならtrue var_dump($andResult); // true // OR演算子 $orResult = ($a > $b) || ($a > $c); // どちらかがtrueならtrue var_dump($orResult); // true // NOT演算子 $notResult = !($a > $b); // 条件を反転 var_dump($notResult); // false
真偽値とは?
PHPでは比較や論理演算の結果は真(true
)または偽(false
)として返されます。
次の例で確認してみましょう:
<?php // 比較結果を直接表示 $result = 5 > 3; var_dump($result); // true // PHPの型変換による真偽値 var_dump((bool)0); // false(ゼロはfalse) var_dump((bool)""); // false(空文字はfalse) var_dump((bool)null); // false(nullはfalse) var_dump((bool)"PHP"); // true(非空の文字列はtrue)
PHPでは数値や文字列を自動的に真偽値に変換するため、特定の値がどのように評価されるかを理解することが重要です。
まとめ
比較演算子と論理演算子は、プログラムが条件を評価するための基盤です。
これらの使い方を理解すれば、次に学ぶ条件分岐で複雑な動作を実現できるようになります。
この記事の内容を基に、比較演算や論理演算を手動で試してみましょう!
比較演算子と論理演算子の練習問題
この記事には練習問題はありません。
次の記事以降で学習する分岐処理や繰り返し処理の記事・問題を通して習得してください。
<<前のページ |
PHP記事一覧 |
次のページ>> |
この記事への質問・コメント
この記事を作成するにあたりAIを活用しています。
問題ないことは確認していますが、もし間違いや表現の違和感などありましたら、ご指摘頂けると大変助かります。