当我运行我的PHP代码时,它会显示错误消息“Notice: Undefined index: formats in C:\xampp\htdocs\playit2\scripts\session.php on line 39
”。
这是我的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 :(得分:1)
未定义的索引意味着完全它的内容。
$item_arr['formats']
未定义。您应该在使用之前检查它是否正确。
可能根据您的具体情况而定。你能处理formats
空吗?
$item_arr['formats'] = (isset($item_arr['formats']))?$item_arr['formats']:"";
答案 1 :(得分: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'])
行。
答案本身就是你得到的错误。数组formats
中不存在键$item_arr
。
最好通过以下方式检查:
array_push($my_items, $item_arr['product_id'], ( isset($item_arr['formats']) ? $item_arr['formats'] : null)
这样格式值如果不存在,将设置为null
。