通常會出現未定義的索引問題是由於數組沒有這個值造成的,數組分為關聯數組和索引數組,索引數組是數字下標;關聯數組是鍵值下標。
$POST['id']之所以報未定義索引是因為$POST這個陣列裡沒有包含下標鍵值為id的值。 (建議學習:PHP影片教學)
解決方法:
判斷陣列中是否包含下標鍵值為id的值,如果沒有,則回傳錯誤訊息,如何判斷呢,最簡單的方法就是用函數isset來判斷,如isset($POST['id']),存在則傳回true,反之則為false;
#。三元判斷法,不存在給一個預設的數值, 如$POST['id'] = isset($POST['id'])?$POST['id']:"1"; #當您(或PHP)嘗試存取陣列的未定義索引時,會出現此通知。
處理問題的方法:
在存取索引之前檢查索引是否存在。為此您可以使用isset()或array_key_exists():
//isset()$value = isset($array['my_index']) ? $array['my_index'] : ''; //array_key_exists()$value = array_key_exists('my_index', $array) ? $array['my_index'] : '';
list($a, $b) = array(0 => 'a');//orlist($one, $two) = explode(',', 'test string');
以上是php的未定義索引如何解決的詳細內容。更多資訊請關注PHP中文網其他相關文章!