B140 比較演算子(PHP)

比較演算子とは二つの式や値の比較を行い、結果を真偽値(trueまたはfalse)で返す演算子です。学問としての数学と同じ表現もあれば、プログラミング特有の表現もあります。今回はその比較演算子について紹介します。

比較演算子について

比較演算子の種類

演算子記述例意味
==a == bbとaの値が等しい
===a === bbとaの値が等しくデータ型(※1)も等しい
!=a != bbとaの値が等しくない
<>a <> bbとaの値が等しくない
!==a !== bbとaの値または型が等しくない
>a > bbよりaが大きい
>=a >= bbよりaが大きいか等しい
<a < bbよりaが小さい
<=a <= bbよりaが小さいか等しい
※1…PHPには「文字列型」「数値型」などのデータ型があります。データ型が異なると、データの扱いが異なります。

大なり/ 大なりイコール

大なりは > を用い、大なりイコールは >= を用いてtrue/falseを返します。

PHP
1 > 30
// false

30 > 1
// true

30 >= 30
// true

小なり/ 小なりイコール

小なりは < を用い、小なりイコールは <= を用いてtrue/falseを返します。

PHP
1 < 30
// true

30 < 1
// false

30 <= 30
// true

厳密等価 / 厳密不等価

厳密等価は === を用い、厳密不等価は !== を用いてtrue/falseを返します。

厳密等価の際は、同じ値かつ同じ型の場合に等価とみなされます。

PHP
2 === 1
// false
//左辺と右辺が不等価なため。

1 === 1
 // true
 // 左辺と右辺が等価なため。
 
1 === "1"
 // false
 // 左辺と右辺のデータ型が違うため。
 // 左辺:数値型 右辺:文字列型
 
2 !== 1
 // true
 // 左辺と右辺が不等価なため。

例題

以下コードはtrue/falseのどちらを返すか

PHP
5 >= 5

回答

true
>=は大なりイコール演算子なため、値が同等であればtrueを返すため

以下コードはtrue/falseのどちらを返すか

PHP
1 == "1"
回答

true
==は大なりイコールなため、値が等しい場合はtrueを返すため

以下コードはtrue/falseのどちらを返すか

PHP
1 !== "1"
回答

true
!==はデータ型含めて比較するため、データ型が異なる場合はtrueを返すため
左辺:数値型 右辺:文字列型

---