//填空题统计
$blank_nums = Db::table("fill_blank")
->field("flag,count(*) as num")
->where("ac_id", session("ac_id"))
->whereOr("ac_id", null)
->group("flag")
->order("flag", "asc")
->select()
->toArray();//刚加的
for ($i = 0; $i <= 4; $i++) {
if (empty($blank_nums[$i])) {
$blank_nums[$i]["flag"] = 0;
$blank_nums[$i]["num"] = 0;
}
}
这是个统计题目每个难度等级下查询数量的代码,如果不用->toArray(),会报出下标3和下标4不存在。因为此时的查询结果是一个对象,这个对象下是个数组,不能直接进行数组操作。操作数组要加上这个就不会出问题了。