ホームページ >バックエンド開発 >PHPチュートリアル >PHP_PHP チュートリアルでの二重等号 (==) の慎重な使用についての詳細な説明
PHP の比較演算子、特に ==
if(a == b){
// do something
}
が頻繁に登場しますが、本当に == をマスターできましたか?詳細が重要です!
以下のコードを見て、正しい答えだと思うものを教えてください
var_dump(' 123fg456'==123);
var_dump('some string' == 0);
var_dump(123.0 == '123d456');
var_dump (0 == "a");
var_dump("1" == "01");
var_dump("1" == "1e0");
まず答えを考え出し、それからもう一度実行して確認してください。答えが正しければ、おめでとうございます。基本的な知識は非常にしっかりしています。
説明:
整数と文字列を比較すると、文字列は整数に変換されます。 2 つの数値文字列を比較する場合は、整数として比較します。このルールは switch ステートメントにも適用されます。
文字列が整数に変換される場合、数値以外の文字が出現するまで左から右に変換されるという事実に特に注意してください。つまり、「123abc456」は 123456 ではなく 123 に変換されます。さらに、文字列の先頭のスペースは無視されます。たとえば、「234abc」は 234 に変換されます。
以下に緩い比較と厳密な比較の比較表を添付します