エンジニアのひよこ_level10

毎日更新してた人。たまに記事書きます。

【PHP】'1.0' == '1'がtrueだった。【210日目】

なんで起こるの?

比較に数値形式の文字が含まれる場合は、文字列が 数値に変換され

PHP: 比較演算子 - Manual

値をテストしてみた

>>> "a" == "0"
=> false
>>> "a" == 0
=> true
>>> "1.0" == "1"
=> true
>>> "1.0" == 1
=> true
>>> "1.0" === "1"
=> false

== を使う時は気をつけよう

“1.0” == “1"
=> true
“1.0” === “1"
=> false

比較演算子の動きを理解しないと、意図しない動作をしてしまうので、
文字列同士で比較したとしても、===を忘れない方がいいなと思いましたという共有でした。