$foo = 0;
if($foo == 'on') $foo = 1;
echo $foo;
上記のコードは "0"を出力すると予想されます。しかし、それはどういうわけか$foo == 'on'
の結果はTRUE
ですが、これは明らかに間違っています。式を$foo === 'on'
に置き換えると正しい答えが得られるので、これはいくつかの入力の問題かもしれない疑いが確認されたようです。PHPで奇妙なブール式を解く
それにもかかわらず、どのようにPHPは$foo
と'on'
も同じタイプでない場合$foo
は'on'
だったと思うことができますか?これはバグか奇妙な機能ですか?