我试图在表的一列中得到一组浮点值的总和。我做了一个选择查询,拉出五组整数。带有 fetch_row 的 while 函数用于获取数组。我使用 foreach 函数来获得总和,但是,echo或printf不会给我一个变量。相反,我得到一个不断增加的值,因为每个整数都被添加到它之前的值的总和。我已经尝试过array_sum,它也不起作用。请帮忙!我在Stackoverflow中查看了每个可能的问题。
<?php
//Check if at least one row is found
if($results2->num_rows > 0) {
//Loop through results and fetch as an array
$total = 0;
while($rows = $results2->fetch_row()){
foreach($rows as $sum)
$total += $sum;
printf($total.'<br/>');
}
}
?>
答案 0 :(得分:0)
您正在循环内打印总数,因此您可以看到所有小计。如果您只想查看最终结果,请在循环完成后打印。
foreach ($rows as $sum) {
$total += $sum;
}
printf("%d<br/>", $total);
此外,当您使用printf
时,第一个参数是格式字符串。之后的值会被替换为格式。
您还可以使用array_sum
:
printf("%d<br/>", array_sum($rows));
请注意,这些是对每行中所有列的总结,而不是整个表中的单个列。