我尝试过很多技巧来计算这个数组中每个值的百分比,但找不到解决方案。价值观是积分。 谢谢。
<?php
$data = array(
'item1' => array(
'label' => 'Label 1',
'value' => 120
),
'item2' => array(
'label' => 'Label 2',
'value' => 90
),
'item3' => array(
'label' => 'Label 3',
'value' => 88
),
'item4' => array(
'label' => 'Label 4',
'value' => 19
)
);
?>
我尝试过的最后一件事情如下:
<?php
$percentages = array();
$total_items = count( $data );
foreach ( $data as $item ) {
foreach ( $item as $k => $v ) {
if ( $k == 'value' ) {
$percentages[] = ( $v / $total_items ) * 100;
}
}
}
?>
希望这个编辑能让你更多地了解我想要实现的目标。
答案 0 :(得分:2)
你需要对数据进行两次传递,一次计算总数,然后计算下一次计算百分比:
$total = 0;
$percentages=[];
foreach ( $data as $item )
$total += $item['value'];
foreach ( $data as $key=> $item )
$percentages[$key]= $item['value'] / ($total /100);
var_dump($percentages);