我想在PHP中执行以下服务器端...
如果我有一个这样的数组:$array1 = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
,我可以创建另一个数组,其中包含每个值的百分比(每个值除以总数)吗?有没有办法在没有强制转换的情况下执行此操作?我基本上想要创建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%)
提前致谢
答案 0 :(得分: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);