我有以下数组:
[ratings] => Array
(
[0] => 3
[1] => 3
[2] => 2
[3] => 3
[4] => 3
[5] => 1
[6] => 3
[7] => 4
[8] => 5
)
获得每个评级百分比的最佳和最快方法是什么。例如现在有9个评分,5个评分为“3”,则评分为“3”的百分比为55.55%。
最佳答案
虽然他可能已经有了一些东西,但这是我想出的。
<?php
$array = array(3,3,2,3,3,1,3,4,5);
function array_avg($array, $round=1){
$num = count($array);
return array_map(
function($val) use ($num,$round){
return array('count'=>$val,'avg'=>round($val/$num*100, $round));
},
array_count_values($array));
}
$avgs = array_avg($array);
/*
* You can access any average/count like:
* echo "The count of 3 is: {$avgs[3]['count']}";
* echo "The average of 3 is: {$avgs[3]['avg']}";
*/
echo '<pre>'.print_r($avgs,1).'</pre>';
输出:
Array
(
[3] => Array
(
[count] => 5
[avg] => 55.6
)
[2] => Array
(
[count] => 1
[avg] => 11.1
)
[1] => Array
(
[count] => 1
[avg] => 11.1
)
[4] => Array
(
[count] => 1
[avg] => 11.1
)
[5] => Array
(
[count] => 1
[avg] => 11.1
)
)
关于php - 计算数组中值的百分比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13076867/