php - 计算数组中值的百分比

标签 php arrays

我有以下数组:

[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
        )
)

http://codepad.viper-7.com/yD9CQm

关于php - 计算数组中值的百分比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13076867/

相关文章:

c++ - 关于C++的问题

c# - 如何从列表中的列表中获取区别并删除该(主)列表项?

php - cakePHP 文件下载未找到或不可读

php - 从 Youtube api 向 Mysql 插入数据

php - 使用 OR 子句的 SQL 查询

android - 在您的应用程序中硬编码数组的最佳方式?

javascript - 根据提示存储坐标并计算距离

php - 从当前日期在开始日期和结束日期之间的 MySql 中抓取行(检查当前日期是否在开始日期和结束日期之间)

javascript - 找出 JS 和 PHP 中时间戳的差异

c++ - 创建一个节点指针数组