完全な空チェック ~ 確実な0(ゼロ)判定、null判定をする方法

2014-08-14 21:10:28
<?php
$num = 0;
if($num){
    処理されない...
}
?>
上記の分岐分は処理されないコードの一例。「0」はfalseと判定されるのがPHPの仕様である。
しかし、「0」はtureと判定し、変数が空の場合のみfalseと判定したい時が多々出てくる。

そこで、よく出てくるなら関数化をしておくのがオススメ。
<?php
function karaChk($str){
    if(!is_null($str) && $str !== ""){
        $flag = true;
    }else{
        $flag = false;
    }
    return $flag;
}
?>
下記の分岐点では変数が空(から)以外は処理されるようになる。
<?php
$num = 0;
if(karaChk($num)){
    処理される...
}
?>