[php]null、空文字をまとめて判定する方法

postやget、DBからデータを拾ったりした場合の中身チェック。

どういうアレか

データを受け取って変数化して、中身の有無でどうのこうのしていくのが常だと思う。

で、「中身がない」の内訳はnullだったり空文字だったりする。

で、nullと空文字を一括してtrueなりfalseなりで返してくれるものはない。

個人的なとこではnullも空文字もまとめてしまうことばっかりなんで、だったら都合のいい何かがほしい。

そういう話。

こうする

この記事に助けられた。

【PHP入門】nullと空文字を判定する3つの方法まとめと注意点 - ブログ - 株式会社Smallit(スモーリット)
目次1.空文字とNULLの違い2.PHPで用意されているメソッドを利用する■is_null■empty■isset3.使用する際の注意点①どこまでを空文字として考えるかを決めておく。②同じチェック内容でも他のチェック結果

説明が分かりやすいし、こちらが欲しい物の関数を作って紹介してくれててめちゃくちゃ助かる。

関数にチェックしたいものを放り込んで、空文字もしくはnullだと「true」を返して、そうじゃなかったら「false」になる。

記事内はサラッとした使用例。
自分は普通のif文で別のなんやかやを展開するためにあれこれするのが多い。

function isNullOrEmpty($str){
    if($str == null){ return true; }
    if($str == ""){ return true; }
    return false;
}

$example = '';

if(isNullOrEmpty($sample)){
    print '空っぽです';
}else{
    print $example;    
}

読んでみたら普通なことしかやってないんだけど、独学の手前自作するとしたらちょっとしんどかったかもしれない。

jsonの判定もこれでやっていける。すごい。

$test = '{"key1":"val1","key2":"val2"}';
print (isNullOrEmpty(json_decode($test, true)))? 'no' : 'yes';

はかどります。

コメント

タイトルとURLをコピーしました