エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
0==’hoge’の挙動(PHP/Perl/Javascript/Ruby) - catatsuy's Blog
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
0==’hoge’の挙動(PHP/Perl/Javascript/Ruby) - catatsuy's Blog
この前気付いたのですが,PHPでは何と驚くべきことに0 == ‘hoge’はtrueになります からくりは文字列と数... この前気付いたのですが,PHPでは何と驚くべきことに0 == ‘hoge’はtrueになります からくりは文字列と数値を比較すると文字列を数値型にキャストして比較しようとします PHPの仕様では’14′や’14hoge’は14にキャストされるというように数字から始まっていたらそこが利用されます しかし’hoge’は数字から始まっていないのでキャストすると0になってしまうのです これによって0 == ‘hoge’がtrueという直感に反した動きをするわけです では他の言語ではこんなこと起こりうるのか簡単に見てみたいと思います これから紹介する言語の中では最もPHPに近い挙動をします というのもPHPと同じ結果になります ただしPerlは==は数値としての比較,eqが文字列としての比較という区別があります そのため0 == ‘hoge’を比較するとPHPと同じ理由によってtrueにはなりますが