为什么我会收到错误消息;注意:未定义索引:格式…“;在php中?
当我运行PHP代码时,它会给出一条错误消息“为什么我会收到错误消息;注意:未定义索引:格式…“;在php中?,php,Php,当我运行PHP代码时,它会给出一条错误消息“注意:未定义的索引:第39行的C:\xampp\htdocs\playit2\scripts\session.PHP格式” 这是我的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.ret
注意:未定义的索引:第39行的C:\xampp\htdocs\playit2\scripts\session.PHP格式”
这是我的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){
”和“formats”是一种id类型。未定义的索引表示确切地说是
$item\u arr['formats']
未定义。使用前应检查是否已定义
根据您的情况,可能会起作用。您能处理格式为空的情况吗
$item_arr['formats'] = (isset($item_arr['formats']))?$item_arr['formats']:"";
首先,你的问题是错误的。如果你有注意:未定义的索引:第39行的C:\xampp\htdocs\playit2\scripts\session.php格式错误。我猜这是关于数组推送($My_items,$item_arr['product_id'],$item_arr['formats'])
答案本身几乎就是您所得到的错误。数组$item\u arr
中不存在键格式
最好通过执行以下操作进行检查:
array\u push($my\u items,$item\u arr['product\u id'],(isset($item\u arr['formats'])?$item\u arr['formats']:null)
这样,如果不存在格式值,格式值将设置为null
。错误是不言自明的…索引“格式”在$item\u arr
中不存在。请尝试在$item\u arr
上打印()。