phpにおける合同(===)と等式(==)の違い
次のプログラムを見てみましょう: $str = “0d52”; If (0==$str) {echo “ true”} Else {echo “false”}
このプログラムの実行結果は、PHP では実際には 0d52 と見なされます。 なぜそのような状況が起こるのでしょうか? 関係演算「==」を実行する場合、演算子の両側のデータ型は一貫している必要があるため、等号の右側の文字列は強制的に整数型 0 に変換されます。
これは、多くの弱い型付け言語の欠点です。 この種のエラーはプログラムでは許容できません。この問題を解決する方法はありますか? 答えはもちろん「はい」です。PHP は同様の問題を解決するための同等の機能を提供します。
ここで、等しい の動作原理を説明するために、プログラムを次の形式に書き換えます。 $str = “0d52”; If (0===$str) {echo “true”} Else {echo “false”}
等価演算のプロセスは次のとおりです。 1. 両側のデータ型が一致しているかどうかを判断します。等号演算子の 2 つの値が同じである場合は false を返します。 等号演算子の 2 つの辺の値が等しいかどうかを判断します。等しくない場合は false を返します。 3. 最後に、等号演算子の AND 演算を実行します。以上2ステップ。 AND 演算の結果を返します。
不等号と等号の演算プロセスは、等号と等号の演算プロセスのまったく逆です。 1. 不等号等号演算子の両側のデータ型が同じかどうかを判断します。同じでない場合は、 true を返します。 2. notqualtoequal to 演算子の両辺の値が等しいかどうかを判断し、等しくない場合は true を返します。 3. 最後に、上記の 2 つの手順を実行または操作します。 OR 演算の結果を返します。
さて、PHP の合同式が等しくない理由の説明は終わりました。PHP 愛好家である読者が有益であることを願っています!
上記では、PHP における congruent === と等しい == の使用法の違いを、関連する内容も含めて紹介しています。PHP チュートリアルに興味のある友人にとって役立つことを願っています。