获得一系列加权值的总分

时间:2012-10-30 14:57:27

标签: php

我有一系列分数,每个分数都按重要性加权。我希望得到100分的总分,具体取决于分数和每个项目的重量。

$array_one = array(
            array(
                'score' => 1.23,
                'max' => 10,
                'weight' => 10
            ),
            array(
                'score' => 56.78,
                'max' => 100,
                'weight' => 20
            ),
            array(
                'score' => 7.56,
                'max' => 10,
                'weight' => 20
            ),
            array(
                'score' => 4.67,
                'max' => 10,
                'weight' => 30
            )
        );

因此,如果一个项目具有更大的权重,则它在100分中给出更大的百分比。即如果我得到4个分数等于该范围中的最大值的50%,但它们都增加了重量10, 20,30,40,第二个得分比第一个得分多10%,第三个比第一个得多20%,第四个比第一个得多30%,依此类推。此外,一些权重将是相同的10,20,20,30或10,10,10,10等。我希望这是有道理的。因此,总结每个项目得分应该是最大值的百分比,然后得分加权为100.预期结果应该返回所有4个项目的总得分。

1 个答案:

答案 0 :(得分:1)

将得分除以最大乘以其权重。取重量之和除以你的最高分(100)。然后,将第一个数字除以第二个数字。这将是映射到[0,100]范围的总加权分数。