如何计算PHP多维数组中指定键的平均值?
计算PHP数组中指定键的平均值
给定如下数组:
$arr = [ 123456 => [ 'Log' => 2793, 'Approve' => 1724, 'Accept' => 13863 ], 123457 => [ 'Log' => 2606, 'Classify' => 730, 'FirstLineSupport' => 83339, 'Escalate' => 14689501, 'Fulfill' => 14772840 ], 123458 => [ 'Log' => 2700, 'Approve' => 16152972, 'Fulfill' => 73006092, 'Accept' => 729914, 'Review' => 27033 ] ];
需要计算键Fulfill的平均值,计算逻辑为:(14772840 + 73006092) / 2 = 43889466。
已掌握求和代码:
$sum = array_sum(array_column($arr, 'Fulfill'));
获取指定键的出现次数
有两种简洁方式统计Fulfill键的有效出现次数:
- 过滤含指定键的子数组后计数
通过array_filter筛选出包含Fulfill键的子数组,再用count统计数量:
$count = count(array_filter($arr, function($item) { return isset($item['Fulfill']); }));
- 处理array_column结果后计数
array_column会为不存在指定键的子数组返回null,过滤掉这些null后再计数:
$fulfillValues = array_column($arr, 'Fulfill'); $count = count(array_filter($fulfillValues));
计算平均值
结合求和与计数结果,即可算出平均值:
$average = $sum / $count; // 输出结果:43889466
内容的提问来源于stack exchange,提问作者executable
相关产品推荐
相关产品推荐

