用PHP计算数组的平均值?

use*_*273 2 php arrays sorting average

我的头在爆炸。我似乎无法创建一个有效的解决方案。

我有一个这种格式的文件:

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
Run Code Online (Sandbox Code Playgroud)

我想为第一列中的每个 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];

}
Run Code Online (Sandbox Code Playgroud)

我已经添加了代码。到目前为止,它将结果放入一个数组中(偏移量与其 id 相对应)但是我在如何获取这些结果并计算每个 id 的平均值然后将其显示在屏幕上时遇到了麻烦。

Sha*_*ran 5

像这样的东西绝对应该工作..

<?php
$arr=array();
$arrv=array_filter(file('myfile.txt'),'strlen');
foreach($arrv as $v)
{
    array_push($arr,@array_pop(explode('|',$v)));
}
echo $avg = array_sum($arr)/count($arr);
Run Code Online (Sandbox Code Playgroud)