php === と == の違い: 1. PHP では、=== は合同演算子を表し、== は等価演算子を表します; 2. の両側の値が等価演算子が等しい場合、等価演算子の両側の値が等しいが型が異なる場合は true または false を返します。

#この記事の動作環境: Windows7 システム、PHP7.1 バージョン、DELL G3 コンピューター
php === == 違いは何ですか?
php における == と === の使用法と違い
開発中に数値マッチングの問題が発生し、マッチング時に次のような状況に遭遇します。どう思いますか?結果はどうなるでしょうか?
1 2 3 4 5 6 7 8 9 | <?php
$str = "0dff" ;
if (0 == $str ) {
echo "true" ;
} else {
echo "false" ;
}
?>
|
ログイン後にコピー
予期せぬことに、上記のプログラムの出力結果は true です。これは、コンパイル時にプログラムのデフォルトが 0 と 0dff に等しいことを意味します。これは、関係演算「==」を実行する場合、演算子の両側のデータ型が一貫している必要があるため、等号の右側の文字列が強制的に整数型 0 に変換されるためです。
これは、一連の弱い型指定言語の欠点でもあります。この問題を解決するために、php には「===」が提供されています。
1 2 3 4 5 6 7 8 9 | <?php
$str = "0dff" ;
if (0 === $str ) {
echo "true" ;
} else {
echo "false" ;
}
?>
|
ログイン後にコピー
このプログラムの出力は false です。
すべての等号の演算処理は次のとおりです:
1. 等号演算子の両側のデータ型が同じであるかどうかを判定し、同じでない場合は false を返します。
2. すべて等しいか判定 演算子の両辺の値が等しいかどうかを確認し、等しくない場合は false を返します
3. 最後に の AND 演算を実行します以上の2ステップです。 AND 演算の結果を返します。
添付ファイル:

推奨学習: 「
PHP ビデオ チュートリアル 」
以上がphp === と == の違いは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。