2011-10-20

PHPにそんなマニュアルがあったなんて

PHPで1年半開発してきたけど、今日、始めてこんなマニュアルがあるのに気づいた。

■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 件のコメント:

コメントを投稿

綺麗に見せることに全振りした操法大会の訓練を50日間するよりも、月1回でいいから基本的な操作方法の訓練を実施すべきだと思うのは俺だけか

 7月に県の消防操法大会がある。 市内分団の持ち回り制で、今年はうちの分団が出場する。 俺も前回回ってきたときに、選手として出た。 訓練が5月から始まっている。 週5日。 訓練時間は2時間だけど、その前に準備する時間もあり、訓練後の撤収時間も必要だから、拘束時間は約3時間。 俺が...