PHP「"0x0A" == "10"はTRUEですがよろしいですか」

ぼく「えっ」
PHP「"0x0A" == "10"はTRUEになりますが」
ぼく「いえFALSEです」
PHP「えっ」
ぼく「えっ」
PHP「まだ比較したことがないということでしょうか」
ぼく「えっ」
PHP「えっ」
ぼく「変化するってことですか」
PHP「なにがですか」
ぼく「型が」
PHP「ああ文字列でも整数っぽい文字列なら自動で型変換されますよ」
ぼく「そうなんだすごい」
PHP「では比較いたしましょうかTRUEですよ」
ぼく「でも"0x0A"は明示的にキャストしたら0になりますよね」
PHP「えっ」
ぼく「えっ」
PHP「ああ16進数のことなら比較の場合のみ10進数に自動で変換してから比較するんですよ」
ぼく「なにそれこわい」
PHP「"0x0A" == "+000010.0000000000000001"の場合もTRUEになります」
ぼく「なにそれもこわい」
PHP「えっ」
ぼく「えっ」



参考

PHPの比較の素晴らしさ加減は正常


勢いでやった。後悔はしている。