我有一段PHP代码,我怎样才能得到权重的总和,因为当我使用array_sum时它不会添加值。
有没有办法添加权重值,或者将项目添加到数组中
$strands_array = array();
foreach ($strands as $h) {
$strands_array[] = $h->assessement_grade;
}
$uique_arrays = array_count_values($strands_array);
// dd(array_sum($uique_arrays));
$total_strands=array_sum($uique_arrays);
$descriptor_keys = collect($uique_arrays);
$keys = $descriptor_keys->keys();
$weight=[];
foreach ($keys as $key => $value) {
if($value=="Excellent"){
$weight[]=5;
}
if($value=="Very Good"){
$weight[]=4;
}
if($value=="Good"){
$weight[]=3;
}
if($value=="Sufficient"){
$weight[]=2;
}
if($value=="Not Sufficient"){
$weight[]=1;
}
}
$weight_sum=array_sum($weight);
$score=($weight_sum/$total_strands)*100;
就像您试图根据分配给不同股线的成绩来计算加权平均分数一样。以下是如何修改代码以正确计算权重总和,然后计算分数。它根据权重总和和股线总数计算分数。如果分数超过100,则会相应调整计算