为 foreach() 多数组提供的参数无效
Invalid argument supplied for foreach() multiple array
这是我的代码:当没有从数据库检索数据时出现警告。如何解决这个问题?..我不知道如何更改多个数组。
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++;
}
应该这样写:
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)
不要在 foreach 中使用维度:删除 [$region_chart2][$country_chart2]
这是我的代码:当没有从数据库检索数据时出现警告。如何解决这个问题?..我不知道如何更改多个数组。
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++;
}
应该这样写:
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)
不要在 foreach 中使用维度:删除 [$region_chart2][$country_chart2]