如何輕鬆避免在PHP中發生此錯誤/注意事項?如何避免未定義索引
Notice: Undefined index: test in /var/www/page.php on line 21
代碼:
$table = 'test';
$preset = array();
method($preset[$table]);
陣列$preset
存在,但不指定索引
如何輕鬆避免在PHP中發生此錯誤/注意事項?如何避免未定義索引
Notice: Undefined index: test in /var/www/page.php on line 21
代碼:
$table = 'test';
$preset = array();
method($preset[$table]);
陣列$preset
存在,但不指定索引
檢查是否存在使用array_key_exists
:
$table = 'test';
$preset = array();
if(array_key_exists($table, $preset)) {
method($preset[$table]);
}else{
// $table doesn't exist in $preset
}
或者,你可以使用isset
:
$table = 'test';
$preset = array();
if(isset($preset[$table])) {
method($preset[$table]);
}else{
// $table doesn't exist in $preset
}
+ 1介紹了對於對應於NULL值的數組鍵,isset()不返回TRUE,而array_key_exists()則返回TRUE。 – stefgosselin
使用if (isset($preset[$table]))
或者你可以先檢查是否使用isset存在鍵()。
if (isset($preset[$table]))
如果存在則返回true,否則返回false。
檢查http://stackoverflow.com/questions/4261133/php-notice-undefined-variable-and-notice-undefined-index/16971723#16971723用於恕我直言一個更好的答案,我在這個問題 – gts