PHP中计算百分比时保证各部分和为1

/**
 * 百分比
 * @param  $data  传一个数组
 * @return 返回一个以 100 分化的 数组
 */
function percent($data)
{
    // $data = array(0,0,2,1,0);
    $total = array_sum($data);
    array_walk($data, function(&$item, $key, $prefix) { $item = round($item*100/$prefix); }, $total);
    if($d = (100 - array_sum($data))) $data[rand(0, count($data)-1)] += $d;
    return $data; //$a = [0,0,67,33,0];
}

麦志建博客
请先登录后发表评论
  • latest comments
  • 总共2条评论
麦志建博客

Hotz淝耔晴 : 初来报道

2021-02-02 11:37:40 回复

麦志建博客

麦俊浩 : 哇~太使用了,虽然没看懂·

2020-12-29 11:21:33 回复