【发布时间】:2013-12-19 11:45:03
【问题描述】:
我的脑袋都快炸了。我似乎无法创建有效的解决方案。
我有一个这种格式的文件:
99895|35378|0.01
99895|813|-0.97
99895|771|0.29
442|833|-1.06
442|485|-0.61
442|367|-0.14
442|478|0.77
442|947|-0.07
7977|987|0.76
7977|819|0.37
7977|819|0.36
7977|653|1.16
7977|1653|1.15
我想为第一列中的每个 id 计算第三列的平均值。
这看起来很简单,但我无法让它工作。您如何从第一列中获得任何所述 id 的平均值?
编辑:
我之前写的一些示例代码:
$file = file_get_contents("results.txt");
$file = explode("
", $file);
$howMany = count($file);
for($a = 0;$a<$howMany;$a++)
{
$row = explode("|", $file[$a]);
$id = $row[0];
$howManyAlready = count($bigTable[$id]);
$bigTable[$id][$howManyAlready] = $row[2];
}
我已经添加了代码。到目前为止,它会将结果放入一个数组中(偏移量与其 id 相对应),但我在如何获取这些结果并计算每个 id 的平均值然后将其呈现在屏幕上时遇到了麻烦。
【问题讨论】:
-
请提供您已经编写的代码,以及您正在研究的解决方案。并告诉我们您当前的代码有什么问题。
-
您的值是否已经在数组中,或者在需要读取的单独文件中?
-
我已经把它全部删除了,因为它让我发疯。我在这个微不足道的问题上坐了 2 个小时。
-
这些值在一个由新行分隔的 .txt 文件中。
-
@user3010273 Stackoverflow 是关于代码的。编写算法,然后编写一些代码,如果它不起作用,我们将帮助您。以下是一些可能对您有所帮助的函数:
fgetcsv读取文件,array_sum和count计算每个 id 的平均值。
标签: php arrays sorting average