我从数据库中获取数据,count()
在while循环中获取数据后输出错误。为什么呢?
输出是:
Line: 1
Line: 2
Count after loop: 3
代码:
while($line[] = mysqli_fetch_array($result)){
echo 'Line: '.count($line);
}
echo 'Count after loop: '.count($line);
答案 0 :(得分:2)
这是因为在第3次迭代中mysqli_fetch_array()
将返回NULL,因为没有剩下的行,然后您将其添加到数组中。
On NULL,其值为FALSE,while循环将停止,但它将被添加到数组中。所以你有3个元素,例如
If rnd = 1 And Button3.Enabled Then
Button3.Text = "O"
Button3.Enabled = False
End If
If rnd = 2 And Button6.Enabled Then
Button6.Text = "O"
Button6.Enabled = False
End If
If rnd = 3 And Button5.Enabled Then
Button5.Text = "O"
Button5.Enabled = False
End If
执行此操作时可以看到:if
。现在要解决这个问题,您可以简单地将代码放在while循环中以添加元素,例如
while($row = mysqli_fetch_array($result)){ $line[] = $row; echo 'Line: '.count($line); } echo 'Count after loop: '.count($line);
因此,如果Array (
[0] => something
[1] => something
[2] => NULL
)
保持为NULL,则不会将var_dump($line);
添加到$row
。