比較演算子 == (等価演算子) および === (恒等演算子) は、2 つの値を比較するために使用されます。これらは、緩い等号 (==) 演算子および 厳密な等号 (===) 演算子としても知られています。
名前 | 例 | 出力結果 | |
---|---|---|---|
Equals | $a == $b | 型を無視します。$a が $b | と等しい場合は TRUE |
常に等しい | $a === $b | $aが$bに等しく、型が同じ |
PHP 演算子 PHP には多くの演算子がありますが、== 演算子と === 演算子は同様のタスクを厳密または任意に実行します。
ケース 1:
<?php // 0 == 0 -> 类型相同返回 true // 转换完成,然后 // 检查是否相等 var_dump(0 == "a"); // 1 == 1 -> true var_dump("1" == "01"); // 10 == 10 -> true var_dump("10" == "1e1"); // 100 == 100 -> true var_dump(100 == "1e2"); // 0 === "a" -> 这种情况为 false // 转换不仅完成 // 还检查是否存在 // 是否相等 var_dump(0 === "a"); // "1" === "01" -> false var_dump("1" === "01"); // "10" === "1e1" -> false var_dump("10" === "1e1"); // 100 == "1e2" -> false var_dump(100 === "1e2"); switch ("a") { case 0: echo "In first case"; break; // 永远不会匹配 "a" 选项 // 因为 switch 使用的是 == case "a": echo "In sceond case"; break; } ?>
出力:
bool(true)bool(true)
bool(true)
bool(true)
bool(false)
bool(false)
bool(false)
bool(false)
最初のケース
ケース 2:
<?php // TRUE - 以下表达式等同于 (bool)1 == TRUE var_dump(1 == TRUE); // TRUE - 以下表达式等同于 (bool)0 == FALSE var_dump(0 == FALSE); // FALSE - 1 不全等于 TRUE // 1 是整形, TRUE 是布尔型 var_dump(1 === TRUE); // FALSE - 0 不全等于 FALSE // 0 是整形, FALSE 是布尔型 var_dump(0 === FALSE); ?>
出力:
bool(true)bool(true)
bool(false)
bool(false)
注: === 演算子「型比較は比較的安全」は、2 つの値の型と値が同じである場合にのみ TRUE を返します。= を使用してください。 = 値が等しい場合は TRUE を返します。
推奨チュートリアル: 「PHP チュートリアル 」
以上が=== が == より速いのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。