3 回答

TA貢獻(xiàn)1820條經(jīng)驗(yàn) 獲得超10個(gè)贊
我會(huì)在從數(shù)據(jù)庫讀取數(shù)據(jù)的循環(huán)中做所有必要的數(shù)學(xué)運(yùn)算。像這樣的東西:
$ratings = array();
while ($row = $result->fetch_assoc()) {
$name = $row['name'];
if (!isset($ratings[$name])) {
$ratings[$name] = array('count' => 1, 'sum' => $row['rating']);
}
else {
$ratings[$name]['count']++;
$ratings[$name]['sum'] += $row['rating'];
}
}
然后你可以像這樣輸出你的表格:
echo "<table>";
foreach ($ratings as $name => $r) {
echo "<tr><td>$name</td><td>" . round($r['sum'] / $r['count'], 1) . "</td></tr>";
}
echo "</table>";

TA貢獻(xiàn)1815條經(jīng)驗(yàn) 獲得超6個(gè)贊
要獲得平均值,您可以執(zhí)行以下操作:
foreach ($groups as $name => $group) {
$average = array_sum(array_column($group, 'rating')) / count($group);
echo $name;
}

TA貢獻(xiàn)1871條經(jīng)驗(yàn) 獲得超13個(gè)贊
您可以首先在用于處理這些日期的結(jié)構(gòu)中簡化問題
foreach($fields as $field) {
$mods[$field['name']][] = $field['rating'];
}
然后只用關(guān)鍵參數(shù) foreach
foreach($mods as $name => $mod) {
echo $name;
echo array_sum($mod) / count($mod);
}
- 3 回答
- 0 關(guān)注
- 226 瀏覽
添加回答
舉報(bào)