スコアの配列があり、各スコアは重要度に重み付けされています。点数と各アイテムに与える重みに応じて、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 点満点中のスコアのパーセンテージが大きくなります。つまり、範囲内の最大値の 50% に等しい 4 つのスコアを取得した場合、それらはすべて重量が 10、20、30 増加します。 ,40 の場合、2 番目のスコアは最初のスコアより 10% 増し、3 番目のスコアは最初のスコアより 20% 増し、4 番目のスコアは最初のスコアより 30% 増し、というように続きます。また、一部の重みは同じ 10,20,20,30 または 10,10,10,10 などになります。これが理にかなっていることを願っています。したがって、要約すると、各アイテムのスコアは最大値のパーセンテージである必要があり、スコアは 100 に対して加重されます。期待される結果は、4 つのアイテムすべてに対して 1 つの総合スコアを返す必要があります。