php の == と === の違いの簡単な分析

PHPz
リリース: 2023-03-22 09:56:02
オリジナル
2495 人が閲覧しました

PHP では、2 つの変数が等しいかどうかを比較する必要がある場合があります。この機能を実現するには、等号演算子「==」または合同演算子「===」を使用できます。どちらの演算子も等価比較を実行できますが、それらの間にはいくつかの違いがあります。

この記事では、「==」と「===」の具体的な機能をそれぞれ紹介し、その違いや使用シーンについて詳しく説明します。

1. "== 演算子

"== 演算子は、PHP の等号演算子であり、2 つの値が等しいかどうかを比較するために使用されます。変数は等しいです。例:

$x = 4;
$y = "4";
if ($x == $y) {
   echo "变量x和y的值相等";
}
ログイン後にコピー

上記の例では、$x と $y の型は異なりますが、値は同じです。したがって、「==」演算子を使用すると結果がtrueであると判断され、「変数xとyの値が等しい」と出力されます。

ただし、「==」演算子は、変数のデータ型に関係なく、値を比較するだけであることに注意してください。したがって、一部の比較結果が期待を満たさない可能性があります。

たとえば、次の例では:

$x = 0;
$y = "abc";
if ($x == $y) {
   echo "变量x和y的值相等";
}
ログイン後にコピー

$x と $y のデータ型と値は異なりますが、比較には「==」演算子が使用され、出力結果は「変数xとyの値は等しい」となります。

2. "=== 演算子

"=== 演算子は、PHP の合同演算子で、2 つの変数を比較するために使用されます。値とデータ型が等しい。例:

$x = 4;
$y = "4";
if ($x === $y) {
   echo "变量x和y的值和数据类型都相等";
}
ログイン後にコピー

上記の例では、$x と $y の値は同じですが、型が異なります。したがって、「===」演算子を使用して比較すると false となり、何も出力されません。

3. 「==」と「===」の違い

  1. 比較タイプ

「==」演算子は、変数の型が等しいかどうかに関係なく、変数の値が等しいかどうかのみを比較します。 「===」演算子は、変数の値と型が等しいかどうかを比較します。

  1. 比較結果

2 つの変数の型と値が等しい場合、「==」演算子と「===」演算子を使用した結果どちらも true です。ただし、変数の型が異なる場合、「==」演算子と「===」演算子の使用結果が異なる場合があります。

たとえば、次の例では:

$x = 1;
$y = "1";
if ($x == $y) {
   echo "值相等";
}

if ($x === $y) {
   echo "值和类型都相等";
}
ログイン後にコピー

比較には「==」演算子を使用します。出力結果は「等しい値」になります。比較には「===」演算子を使用します。 、何も出力されません。

4. 使用シナリオ

  1. 「=== 演算子」を使用することをお勧めします

ほとんどの場合、変数の比較には「===」演算子を使用することをお勧めします。これにより、比較結果の正確性が保証され、予期しない比較結果が回避されます。

  1. 「== 演算子を使用するシナリオ」

何らかの型変換が必要な場合は、「==」演算子を使用できます。たとえば、文字列を整数に変換する必要がある場合は、以下に示すように「==」演算子を使用できます。他のシナリオでは、配列比較を実行するときに「==」演算子を使用できます。

$x = "4";
if ($x == 4) {
   echo "转换成功";
}
ログイン後にコピー
    つまり、演算子の選択は実際の状況に応じて決定する必要があり、ほとんどの場合、変数比較の正確性を確保するために「===」演算子を使用することをお勧めします。比較結果。

以上がphp の == と === の違いの簡単な分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
関連するチュートリアル
人気のおすすめ
最新のコース
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート