$vaccinesArr=array("0","0","0","0","0","0","0","0","0","0","0");
for($i = 0; $i < 11 ; $i++){
while($row = mysqli_fetch_assoc($result)){
if ($row['vaccID']== $i){
$vaccineArr[$i]++;
}
}
}
这是我的代码的一部分,我需要根据这个条件增加但我继续得到语法错误,我搜索但我发现的所有结果都使用foreach并递增数组的所有索引,而在这里我想要仅增加一个特定索引。有人可以帮忙吗?
答案 0 :(得分:0)
您的代码仅适用于for
循环的第一次迭代,因为当内部while
循环结束时,不再需要从查询中获取任何行。您可以回退查询,但更好的方法是不使用for
循环。
while ($row = mysqli_fetch_assoc($result)) {
$vaccinesArr[$row['vaccID']]++;
}
此外,如果$vaccinesArr
的元素应该是数字,则不应将它们放在引号中。当你使用++
时,PHP会将字符串转换为数字,但为什么会混淆?
$vaccinesArr = array(0, 0, 0, ....);