PHPの比較の素晴らしさ加減は正常 @ はてな匿名ダイアリー
1と2は仕様と言われれば個人的には受け入れられる。
3あたりからチト厳しい。せめてlintで警告が欲しい。「===」と書いたつもりが「==」だった、というケアレスミス対策に。
4は対称性が崩れる分、覚える事が増えて面倒だ。暗黙の型変換がこういう仕様だというなら、それを明示的にやる関数 / 演算子があった方がよいと思う(既にあるのなら、教えてくださいPHPのえろい人)。
ちなみに、追加で確認してみたら
"hoge" == true かつ "hoge" == 0 かつ true != 0

だったので、「==」は数値比較演算子というよりも、自動的に型変換する演算子(かつ、CやJavaとは型変換の規則が異なる)として覚えた方が正確なのではないか。
http://anond.hatelabo.jp/20090617164618のコード、
if (strcmp("0x0A", "10") == 0) {
でないと、チュッされちゃうのでは……。 strcmpは等しい時に0を返すので。
http://blog.mura.com/blogs/htsrv/trackback.php/1115
この投稿への コメント/トラックバック/ピンバック はまだありません...
| 日 | 月 | 火 | 水 | 木 | 金 | 土 |
|---|---|---|---|---|---|---|
| << < | > >> | |||||
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | 31 |