1

php で実行するvar_export( 0 == 'xxx' )と、true が返されます。それは論理的にどのように理にかなっていますか?

4

1 に答える 1

12

PHP が値を型キャストすることを忘れないでください。整数と文字列の比較を行っているため、xxxは int に変換され、そこには有効な数値 y 型の値がないため、xxxになり0ます。0 == 0したがって、常に真である を効果的にテストしています。

のようなものがあれば0 == '42xx'、に変換され0 == 42て false になります。

===値と型を比較す​​る厳密な等価性テストもあります。ここで、 0 === 'xxx'isFALSEです。

于 2013-09-23T17:54:00.780 に答える