昔作ったPHPプログラムを動かしてみたら「Notice: Undefined
index:」というエラーが多発してしまいました。その対処法というか、出ないようにする方法をやってみました。
変数を初期化してから使う
if ($_POST['hoge']) { 処理 }
というように初期化しないでいきなり変数を使用するとエラーが出てしまうので、isset()でチェックして別の変数に値を入れ替えてから使用しています。
$hoge = isset($_POST['hoge']) ? $_POST['hoge'] : null; if ($hoge) { 処理 }
【 参 考 】
- PHP で $_GET $_POST で Notice: Undefined index: が出る : Serendip – Webデザイン・プログラミング
- PHP Notice: Undefined index: の対処法 : PHP, WordPress | FindxFine -Web制作に関するメモ-
ただ、この方法だと他の変数もすべて同様の記述をしないといけないのが面倒です。
error_reporting()を使う
// 単純な実行時エラーを表示する error_reporting(E_ERROR | E_WARNING | E_PARSE);
phpファイル内にerror_reporting()を記述してエラーレベルを下げる方法です。
この方法でも他のphpファイルにもすべて同様の記述をしないといけないのが面倒です。
php.iniを書き換える
error_reporting = E_ALL | E_STRICT
上のように書かれているコードを以下のように変更しました。Apacheを再起動後にアクセスしてみると、エラーは表示されなくなりました。
error_reporting = E_ALL & ~E_NOTICE
【 参 考 】