0
我有这样的一个阵列之下,但大得多:迭代多维PHP数组,平均值,其中密钥是相同的
Array(
[0] => Array(
[carrier] => Test Carrier
[value] => 5
),
[1] => Array(
[carrier] => New Carrier
[value] => 18
),
[2] => Array(
[carrier] = Test Carrier
[value] => 8
)
)
在现实中有大约306阵列与载体的键 - 值对,并值。我想要做的是迭代上面的这个数组(它有多个数组,载波=>测试载波),并在载波名称相同的情况下添加相应的值,然后除以2得到平均值。
因此,对于上面的例子中,其结果在伪代码将是:
代码注意到载波信号是与另一个相同(即测试载体)
添加8 + 5 13但是记得它有两个数组,
carrier = Test Carrier
,所以它除以2并设置值等于那个。如果它发生第三次,它将增加并除以2.目标是获得平均值,如果有15个记录具有相同的运营商名称并加上所有值并除以15.返回一个数组数据如上,但没有重复的运营商名称,其值等于所有具有相同名称的数组的平均值。
这是我迄今但它是不完整的:
$cars = array(
'carriers' => array(
)
);
$avgs = array();
foreach($arr as $new) {
if(in_array($new['carrier'], $cars['carriers'])) {
$avgs['value'] = $avgs['value'] + $new['value']/$cars['count'];
} else {
$avgs[] = $new;
$cars['carriers'] = array(
'carrier' => $new['carrier'],
'count' => 0
);
}
}
如何才能做到这一点?
辉煌....就这样。 – asgwar12 2014-09-06 18:34:48