【PHP】比較演算子「===」と「==」の違い
目次
「==」について
他のプログラム言語、C#やJavaなどでの使い方だと以下のような比較はエラーになります。
1 |
|
エラーになる原因は、数値型の1
と文字列型の1
を型が違うまま比較してしまっているからです。
しかし、PHPの==
では、右辺と左辺の値を相互に型変換することで、データ型の違いに対して寛容な比較をすることができます。
よって、以下のようなコードでは問題なくif
内の処理が動きます。
1 |
|
「===」について
他のプログラム言語、C#やJavaなどでの使い方と同じように、型を自動で変換せずに厳格に比較することができます。
==
の例のプログラムを===
に置き換えてして実行すると、実行エラーになるはずです。
1 |
|
どちらを使えばいいのか
データ型に対して寛容な比較をする==
を使用するとデータ型の違いによるバグが起こる可能性があるため、特別な理由がない限りは、厳格な比較のできる===
を使用するのが一般的です。
【PHP】比較演算子「===」と「==」の違い