PHPにおけるNullと0と空白とfalseの違い | 株式会社ネーブルス代表取締役福田一成の公式ブログ

PHPにおけるNullと0と空白とfalseの違い

本日、作業をしてまして調べた事があります。

調べては、忘れ、調べては、また忘れを繰り返す

内容なので忘れても、また、調べる手間が省けるように

ブログへ記録しておきます。どこへ書いたか忘れると

意味が無くなってしまいますが・・・。


PHPにおけるNullと0と空白とfalseの違い。


1、条件式 == の場合

  (PHPの一番ここが変ですね)


  Null、0、空白、falseは、

  0、空白、falseの何れとも同じと判断されます。


  1、trueは、

  1、trueの何れとも同じと判断されます。


2、条件式 === の場合


  全て、その値でなければ一致とはみなされません。

  つまり、0は、0でないと一致とはみなされません。


3、is_nullを使用した場合。


  NULL以外は一致とは判断されません。


では、値に何も入ってないと予想される場合の条件は、

Nullかもしれないし、空白かもしれないという事で


if (is_null($value) || $value === "")


となってしまいます。カッコ悪。