php - PHP / MySQL平均基于数组的内容

原文 标签 php mysql arrays

我有以下数组:

array(
    a => 6.75,
    b => 5.45,
    c => 8.76,
    d => 7.76,
    e => 8.16,
    f => 2.76,
    g => 4.67,
    h => 9.01,
    i => 5.42,
)

我希望实现的是averagetop quartile
本质上,我需要按descending的顺序排列数组,然后计算top quartile将是什么(即9(数组中元素的数目)x 25%=2.25四舍五入为2,因此它将是需要平均的前两个数字)。
我要找的就是这个数字。
我正在努力弄清楚如何实现这一点,以及是在PHP中还是通过查询MySQL数据库来实现这一点最好。
欢迎任何及所有建议、反馈和建议。

最佳答案

您可以在PHP中轻松完成此操作:

$array = array(
a => 6.75,
b => 5.45,
c => 8.76,
d => 7.76,
e => 8.16,
f => 2.76,
g => 4.67,
h => 9.01,
i => 5.42,
);

arsort($array); // Order the array in descending order
$top_quartile = floor(count($array)/4); // Calculate top quartile
$array = array_slice($array, 0, $top_quartile); // Keep only the top quartile values

$total = 0;
foreach($array as $value) {
    $total += $value;
}
$average = $total/$top_quartile;

echo $average;

相关文章:

mysql - Amazon EC2上的MySQL数据库与Amazon RDS上的MySQL数据库有什么区别

mysql - 记录会自动从Mysql表中删除

mysql - Sphinx,更新已删除条目的索引

javascript - 在javascript中对函数数组进行排序

php - 删除SQLite中另一个表中没有的所有行

php - 尝试从数据库检索数据时修复php中的显示格式

php - 动态潜航

php - 我可以安全地假定此INSERT成功吗?

c# - 将2D数组的2D数组转换为单个2D数组

ios - 筛选类数组中的结果(Swift 3)