YAMAGUCHI::weblog

海水パンツとゴーグルで、巨万の富を築きました。カリブの怪物、フリーアルバイター瞳です。

NULL?0?

PHPをやっていると文字列と文字と数字の扱いがすごく適当になる。もちろんそれがメリットになっている部分も大いにあるんだけど、きちんと意識しておかないと痛い目に遭う。
ある変数に0をつっこむ場合と空の文字列("")をつっこむ場合が両方あって、それぞれの場合を条件分岐で行おうと思った場合に0はきちんと'0'で対応させないといけない。つまり

if($a == '0'){
  hoge();
} elseif($a == ""){
  fuga();
} else {
  foo();
}

これをしなかったがために0と""が同じ物と判断され、おかしなところで躓いてしまった。要注意。