ホームページ >バックエンド開発 >PHPチュートリアル >PHPにおけるcongruent ===とequal ==の使用法の違い

PHPにおけるcongruent ===とequal ==の使用法の違い

WBOY
WBOYオリジナル
2016-07-28 08:29:381010ブラウズ

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 チュートリアルに興味のある友人にとって役立つことを願っています。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。