PHP では、二重等号 (==) と三重等号 (===) は、値が等しいかどうかを比較するために使用される比較演算子です。ただし、動作と比較プロセスの厳密さは異なります。
二重等号演算子は 2 つの値が等しいかどうかをチェックしますが、2 つの値のデータ型が異なる場合は型強制を実行します。これは、PHP が比較を実行する前に値をジェネリック型に変換しようとすることを意味します。二重等号演算子に関する重要なポイントをいくつか示します。
2 つの値が同じ型の場合、三重等号演算子 (厳密な比較) のように動作します。
2 つの値の型が異なる場合、PHP はそれらを共通の型に変換しようとします。たとえば、整数と文字列を比較する場合、PHP は文字列を整数に変換しようとします。
整数や浮動小数点数とは異なり、数値文字列は自動的に数値に変換されます。
ブール値は整数として比較されます (true は 1、false は 0)。
Null は、空の文字列、空の配列、またはゼロと等しいものとして扱われます。
配列とオブジェクトは、その内容ではなく、その ID によって比較されます。
例 2
リーリー ###出力### リーリー三重等価演算子は恒等演算子とも呼ばれ、2 つの値の間の厳密な比較を実行します。型強制を実行せずに、値と型が等しいかどうかをチェックします。トリプル等号演算子はより厳密であり、予期しないまたは予想外の型変換を回避するため、一般に安全に使用できると考えられています。以下に、トリプル等号演算子に関する重要なポイントをいくつか示します。
比較される 2 つの値が同じ型および同じ値を持つ場合にのみ true を返します。
型が異なる場合、または一方の値をもう一方の値の型にキャストできない場合、演算子は false を返します。
比較の前に型変換やキャストは実行されません。
通常、型の整合性が重要な値を比較する場合に推奨されます。
例 1
リーリー ###出力### リーリー例 2リーリー ###出力### リーリーイラスト
$以上がPHP の等号 (==2 つの等号) と恒等 (=== 3 つの等号) 比較演算子の違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。