2

我想在 PHP 中执行以下服务器端...

如果我有一个这样的数组:$array1 = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10),我可以创建另一个数组,其中包含每个值的百分比(每个值除以总数)吗?有没有办法做到这一点,而无需使用 for 循环进行暴力破解?我本质上想创建array2

sum_array($array1)产生 55 (1+2+3+4+5+6+7+8+9+10 = 55)

$array2 = array(1.8%, 3.6%, 5.4%, 7.2%, 9%, 10.9%, 12.7%, 15.5%, 16.3%, 18.2%)

提前致谢

4

1 回答 1

8

你可以用array_map这个。

$array1 = array(1,2,3,4,5,6,7,8,9,10);
$total = array_sum($array1);

$array2 = array_map(function($a) use($total){
    return round(($a*100) / $total, 1) . '%';
}, $array1);
于 2012-08-02T15:30:06.173 回答