2011年4月15日金曜日

PHP 空文字判定とnull値判定で大きな誤りを犯していた。empty()とis_null()

 一度ぐらい動作したからといってそれで慢心していてはいけませんね。今朝なにげに先日作成したばかりの自動車試験問題を触っていたら、標識の無い問題でも、その前の問題で表示されていた標識が引き続き表示されるというエラーを発見した。変数が初期化されていないということに気づいた。それでその判断をしている部分がDBのnull値もしくは、空文字列の判断がPHPとしてはまったくのデタラメをやっていることを発見した。さっそく調べてみると・・・・
              ↓これ大嘘^^;
       if( $imgurl=="" or $imgurl == null){}

       ↓どうやらこれが正しいようです。
       if( empty($imgurl) or is_null($imgurl)){}

 おかげでまたひとつ賢くなった。かな?

0 件のコメント: