■PHPマニュアル
付録 PHP型の比較表
http://www.php.net/manual/ja/types.comparisons.php
==で緩やかに比較したときの、あの、わけの分からないTRUEとFALSEの評価と
is_null()、empty()、isset()の結果が一覧表で載っていた。
知らなかった...
マニュアルは、ちゃんと読みましょう。ね。
で、どうしても解せない不愉快な評価結果。
if (0 == NULL) は TRUE と評価され
if (0 == "0") は TRUE と評価されるのに
if ("0" == NULL) は FALSE と評価される。
if (FALSE == NULL) は TRUE と評価され
if (FALSE == "0") は TRUE と評価されるのに
それでもやっぱり
if ("0" == NULL) は FALSE と評価される。
証明が成り立っていない。だめだ、俺の中であり得ない。
世の中、理不尽なことばかりだ。
if ("" == NULL) は TRUE だけど
if ("" == "0") は FALSE だから
if (NULL == "0") は FALSE なんだろうか?
「仕様です」
ではなくて、この理由をご存知の方、教えてください。
0 件のコメント:
コメントを投稿