PHPの未定義変数エラーを出さないためには
以下は$flag が定義されてないのでif文の条件でNOTICE:undefined ... エラーがでる。
<? if($flag == 1){ echo "OK"; }else{ echo "NO"; } ?>
- 対策1 isset() , !empty() で定義済みの場合のみ評価する
<? if(isset($flag)){ if($flag == 1){ echo "OK"; }else{ echo "NO"; } } ?>
- 対策2 未定義の場合、初期化する
<? if(empty($flag)){ $flag = ""; //var_dump($flag) => string(0) "" } if($flag == 1){ echo "OK"; }else{ echo "NO"; } ?>
- 対策3 phpの設定を変更してundefinedエラーを出さないようにする。
そもそもNOTICEエラーは注意喚起程度で、無視しても通常の処理に支障はないという考えもあるので、これも手かも。
1 php.ini で変更する方法
error_reporting = E_ALL & ~E_NOTICE
2 .htaccess で変更する方法
php_value error_reporting 30711
3 phpスクリプトで変更する方法
<?php error_reporting(E_ALL & ~E_NOTICE); ?>
他に良い方法あったらおしえてください。m(._.)m
わからないことだらけだがアホなりに日々進歩を実感する。('A`)