PHPには、値を比較するためのいくつかの比較演算子があります。それぞれの比較演算子には独自の特徴があり、用途に応じて使い分ける必要があります。
特に、==
と ===
の違いについて理解することが重要です。
ウェブデザイン技能検定でもどの演算子がどういった役割をするのかなどの出題がされますので、PHPが苦手な方も是非頭に入れていただけたらと思います。
またほかの言語にも共通する部分などもありますので、理解しておくだけでもIT業界にいるとプラスがあります。
1. =(代入演算子)
説明: 代入演算子は、右辺の値を左辺の変数に代入します。比較には使用されません。
使用例:
$a = 5; // 5を$aに代入
2. ==(等価演算子)
説明: 等価演算子は、2つの値が等しいかどうかを比較します。型変換を行うため、数値と文字列が同じ値であれば等しいと見なされます。
特徴:
- 型変換を行う。
- 値が等しければ真を返す。
使用例:
var_dump(0 == '0'); // bool(true)
var_dump(0 == false); // bool(true)
var_dump('0' == false); // bool(true)
3. ===(厳密等価演算子)
説明: 厳密等価演算子は、2つの値が等しいかどうかを比較します。型変換を行わず、値と型の両方が等しい場合にのみ真を返します。
特徴:
- 型変換を行わない。
- 値と型が等しければ真を返す。
使用例:
var_dump(0 === '0'); // bool(false)
var_dump(0 === 0); // bool(true)
var_dump('0' === '0'); // bool(true)
4. !=(不等価演算子)
説明: 不等価演算子は、2つの値が等しくないかどうかを比較します。型変換を行います。
使用例:
var_dump(0 != '0'); // bool(false)
var_dump(0 != 1); // bool(true)
5. !==(厳密不等価演算子)
説明: 厳密不等価演算子は、2つの値が等しくないかどうかを比較します。型変換を行わず、値と型の両方が異なる場合にのみ真を返します。
使用例:
var_dump(0 !== '0'); // bool(true)
var_dump(0 !== 0); // bool(false)
6. <(小なり演算子)
説明: 小なり演算子は、左辺の値が右辺の値より小さいかどうかを比較します。
使用例:
var_dump(5 < 10); // bool(true)
7. >(大なり演算子)
説明: 大なり演算子は、左辺の値が右辺の値より大きいかどうかを比較します。
使用例:
var_dump(10 > 5); // bool(true)
8. <=(小なりイコール演算子)
説明: 小なりイコール演算子は、左辺の値が右辺の値以下であるかどうかを比較します。
使用例:
var_dump(5 <= 5); // bool(true)
9. >=(大なりイコール演算子)
説明: 大なりイコール演算子は、左辺の値が右辺の値以上であるかどうかを比較します。
使用例:
var_dump(10 >= 5); // bool(true)
まとめ
PHPには、値を比較するためのさまざまな比較演算子があります。
最初にも記載しましたが、特に ==
と ===
の違いを理解することが重要です。
==
は型変換を行って値を比較するのに対し、===
は型変換を行わず、値と型の両方を比較します。
これにより、数字の1と文字の1などを区別することができます。
検定などでもこういった似ている役割を果たすけども重要な違いがあるものなどが出題されたりしますので、是非覚えていただけたらと思います。