php、私の最愛の古い友人。
さて、文字列「0」が偽の値になる理由を理解できます。'0'
ゆるい型付け言語と同じであり0
、ゆるい型付け言語であるため、これは公正な見方です。したがって、これにより== ==が得られます。0
false
false
0
'0'
大丈夫...でも!! これは何ですか?
<?php
print "number of surprised persons: " . ('false' == 0);
出力は....
number of surprised persons: 1
これはどのように合理的ですか?これに驚くのは私だけでしょうか?私は何を見ていないのですか?
さらなるテストにより、整数 0 が (演算子 == により) に等しいことが証明されました。
0 <-- integer
false <-- boolean
null <-- just.. you know, null
'0' <-- string
'' <-- string
'false' <-- string
'true' <-- string
'null' <-- string
当然、私は主に演算子 === を使用して比較します。これについて知ったので、もちろんプログラミングを調整する必要があります。それについては疑問の余地はありません。それでも!誰かがpl0xに光を当てることができますか?