MW211 EXIT

devlog
PHP/NULLを文字列結合すると文字型になる
2011年10月25日
「gettype()」って便利な関数があって、変数のデータ型を調べられるのだが、
以下のような結果となった。
┌──────────────────────────────────────┐
│echo gettype(NULL);                                                 →NULL  │
│echo gettype(NULL . NULL);                                          →string│
└──────────────────────────────────────┘
つまりは、NULLを文字列結合すると文字型扱いとなるのだ。

ってことは、「is_null(NULL . NULL)」は偽となってしまうのである。

これは変数を介した時にハマりやすい罠だ。
「$c = $a . $b;」で「if (is_null($c)) {…」とかって処理を書いてしまうと
「$a」も「$b」もNULLの場合、当然真になる…なんて間違いを犯してしまうことになる。
分類:PHP、注意