我正在从我的数据库中获取数据,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);
最佳答案
这是因为在第 3 次迭代中 mysqli_fetch_array()
将返回 NULL,因为没有剩余的行,您可以将其添加到数组中。
在计算结果为 FALSE 的 NULL 上,while 循环将停止,但它会被添加到数组中。所以你有 3 个元素,例如
Array (
[0] => something
[1] => something
[2] => NULL
)
您可以在执行时看到:var_dump($line);
。另外现在要解决这个问题,您可以简单地将代码放在 while 循环中以添加元素,例如
while($row = mysqli_fetch_array($result)){ $line[] = $row; echo 'Line: '.count($line); } echo 'Count after loop: '.count($line);
因此,如果 $row
为 NULL,则不会将 $row
添加到 $line
。
关于php - count() 在 while 循环后给我错误的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34258307/