[Php] كيفية حساب المتوسط ​​المرجح؟


Answers

أليس هذا العمل؟

$total = 0;
$sum = 0;
foreach ($ratings as $k => $v) {
  $total += $k * $v;
  $sum += $v;
}
echo $total / $sum;

إديت: حسنا، أنا أتطلع سخيفة، منذ شخص يضربني لذلك. اوه حسناً.

Question

لغتي هي فب، ولكن يجب أن تكون الخوارزمية عالمية إلى حد ما.

لدي مجموعة ارتباطية من (لنقول) التقييمات وعدد المرات التي أعطيت هذا التصنيف.

$ratings = array(
    1 => 1,
    2 => 3,
    3 => 6,
    4 => 3,
    5 => 3
);

هذا هو ما يعادل: [1, 2, 2, 2, 3, 3, 3, 3, 3, 3, 4, 4, 4, 5, 5, 5] ، ولكن نظرا للأرقام التي أعمل معها، سيكون من غير الكافي جدا التحويل من الشكل الأول إلى النموذج الثاني.

ما هي الخوارزمية لحساب متوسط ​​الأرقام المذكورة أعلاه؟