【PHP】Noticeを回避するためにisset関数を使おう
php本体側の設定で、E_NOTICEの設定がないとき、値が入っていない変数や配列を見に行くと、「Notice: Undefined index」が表示されます。
普段は、php.iniやphpファイルのini_setなどで、NOTICEを無視したりと、結構雑な感じに扱われますが、仕事の都合でNOTICEエラーも対応することが多々あります。
NOTICEが表示される書き方
<?php if( $sample == "zen6a" ) { echo 'zenです。'; } else { echo 'zenではないです。'; } ?>
上記の書き方だと、if文でNOTICEが表示されます。
また、「empty」や配列の件数を確認する「count」を使用しても表示されてしまいます。(めんどry
NOTICEの回避方法
<?php if( isset($sample) == "zen6a" ) { echo 'zenです。'; } else { echo 'zenではないです。'; } ?>
同じサンプルに、if文にisset関数を付け加えました。
これで、$sampleに値が入ってなくてもNOTICEが表示されることはありません。
また、次のサンプルは連想配列でissetを利用した書き方になります。