为foreach()多个数组提供的参数无效

时间:2015-02-04 04:26:54

标签: php database foreach

这是我的代码:当没有数据从数据库检索时发出警告..如何解决这个问题?我不知道如何更改多个数组。

foreach ($users_id_array[$region_chart2][$country_chart2] as $key) {

                $query_diff2 = "SELECT ut_lp_marks.obj_id, object_data.title, read_event.spent_seconds, " .
                        "read_event.read_count, ut_lp_marks.status, ut_lp_marks.percentage, ut_lp_marks.u_comment FROM ut_lp_marks ".
                        "LEFT JOIN object_data ON (object_data.obj_id = ut_lp_marks.obj_id) ".
                        "LEFT JOIN read_event ON (read_event.obj_id = object_data.obj_id AND read_event.usr_id = ut_lp_marks.usr_id) ".
                        "WHERE ut_lp_marks.usr_id=$key AND object_data.type = 'crs'";


                     $result_diff2 = mysql_query($query_diff2);

                            while($rec_diffcourse2 = mysql_fetch_assoc($result_diff2))
                            {

                                 if ($rec_diffcourse2['status'] == 0) {

                                        $total_diffna1++;
                                    }
                                    if ($rec_diffcourse2['status'] == 1) {
                                        $total_diffinprogress1++; 
                                    }
                                    if ($rec_diffcourse2['status'] == 2) {
                                        $total_diffpassed1++;
                                    }
                                    if ($rec_diffcourse2['status'] == 3) {
                                        $total_difffailed1++;
                                    }       



                            }
                            $no_test_country++;
                    }   

2 个答案:

答案 0 :(得分:1)

应该这样写:

if (!empty($users_id_array[$region_chart2][$country_chart2])) {
    foreach ($users_id_array[$region_chart2][$country_chart2] as $key) {

除非你真的应该使用$ val而不是$ key

正确的语法是

foreach($ array as $ key - > $ val)

答案 1 :(得分:0)

请勿使用foreach中的尺寸:移除[$region_chart2][$country_chart2]