从记录数组中获取字段

时间:2014-01-04 23:06:57

标签: php arrays field average

如何从数组中的记录中的字段中获取所有值?

我想根据数组中特定字段下的数字得分取平均值。阵列是从表单中提取的。这是我到目前为止所做的,但它不起作用。

$records = get_field('maths_month_report'); //gets all the records
$progressscore = $records['progress']; //targets the specific field in those records
echo . array_sum($progressscore)/count($progressscore) .; //divides the numbers in the field by the amount of records

版本:我很抱歉没有提到记录是'maths_month_report'数组中的数组。我可以使用以下命令定位特定记录中的特定字段:

$firstrecord = $records[0];
$output = $firstrecord['progress']; 

我只想定位所有'进度'值,以便我可以对它们进行平均。

1 个答案:

答案 0 :(得分:1)

根据您的评论,如果这些是数组中的数组,则需要构建一个新数组:

$progresscore = array_column($records, 'progress')

PHP< 5.5:

$progresscore = array_map(function($item) {
    return $item['progress'];
}, $records);

或者,只是自己迭代:

$sum = $count = 0;
foreach ($records as $record) {
    $sum += $record['progress'];
    ++$count;
}
echo $sum / $count;