获取数组中项目的总和

问题描述 投票:0回答:1

我有一段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;
php arrays
1个回答
-1
投票

就像您试图根据分配给不同股线的成绩来计算加权平均分数一样。以下是如何修改代码以正确计算权重总和,然后计算分数。它根据权重总和和股线总数计算分数。如果分数超过100,则会相应调整计算

© www.soinside.com 2019 - 2024. All rights reserved.