2014-11-21 99 views
-2

當我運行我的PHP代碼時,它會顯示錯誤消息「Notice: Undefined index: formats in C:\xampp\htdocs\playit2\scripts\session.php on line 39」。爲什麼我在php中收到錯誤消息「Notice:Undefined index:formats ...」?

這是我的HTML代碼。

$my_items = array(); 

$jsql_e = mysql_query("select request_list.id, request_list.formats, request_list.product_id, request_list.sent_on, request_list.return_on, products.name, products.certificate from request_list, products where request_list.email='$visit_email' and request_list.sent='1' and request_list.returned='1' and products.id=request_list.product_id") or die(mysql_error()); 

$jarr_rent_list_history = array(); 

while($jfet_e = mysql_fetch_assoc($jsql_e)){ 
    $jfet_e = array_filter($jfet_e); 
    if(count($jfet_e) > 0){ array_push($jarr_rent_list_history, $jfet_e); } 
} 

foreach($jarr_rent_list_requested as $item_arr){ 
    if((count($item_arr) > 0) && (strlen($item_arr['product_id']) > 0)){ 
     array_push($my_items, $item_arr['product_id'], $item_arr['formats']); 
    } 
} 

誤差在 「if((count($item_arr) > 0) && (strlen($item_arr['product_id']) > 0)){」 和 「格式」 是一個id類型給出。

+0

錯誤是不言自明的...'$ item_arr'中不存在索引'formats'。嘗試''item_arr'上的'print_r()'來查看它不存在的迭代... – RichardBernards 2014-11-21 10:42:35

+0

'$ item_arr ['formats']'不存在。 – 2014-11-21 10:42:37

回答

1

首先,你的問題是不正確的。如果您有Notice: Undefined index: formats in C:\xampp\htdocs\playit2\scripts\session.php on line 39錯誤。我的猜測是它關於線路array_push($my_items, $item_arr['product_id'], $item_arr['formats'])

答案本身就是你所得到的錯誤。數組$item_arr中不存在密鑰formats

最好是通過做例如進行檢查:

array_push($my_items, $item_arr['product_id'], (isset($item_arr['formats']) ? $item_arr['formats'] : null)

這樣的格式值將被設置爲null如果它不存在。

1

未定義索引意思是正確它說什麼。

$item_arr['formats']未定義。你應該在使用之前檢查它是否是。

This may根據您的情況而定。你能處理formats是空的嗎?

$item_arr['formats'] = (isset($item_arr['formats']))?$item_arr['formats']:""; 
相關問題