我遍历一个具有可变行数的数组/对象,其中一个参数是数字的。数组是有序的,所以这些数字是下降的(最高的第一个)
离。 75,54,46,31,25,22,22,13,8,7,2
现在,在通过数组时,我想根据这些数字构建另一个数组(" Totals")。
我希望第一个值是所有数字的总和,第二个值是第二个数字到最后一个数字的总和,第三个值是第三个数字到最后一个数字的总和等等
所以,上面例子的结果是:
$totals[1] = 305
$totals[2] = 230
$totals[3] = 176
$totals[4] = 130
$totals[5] = 99
... 等
由于源对象的密钥不是增量的,因此需要在for / while循环中完成。
我可以使用嵌套循环中的计数器使用十亿个if / + =语句来执行此操作,但它不会非常有效/动态。我确信这是一个简单的方法。我无法弄清楚。
谢谢!
答案 0 :(得分:1)
我会添加总数组的第二个(克隆)。像这样:
<?php
$total = 0;
$sortedarray = rsort($totals);
$tmptotal = $sortedarray;
foreach($sortedarray AS $key => $value) {
$total += array_sum($tmptotal);
unset($tmptotal[$key]);
}
echo $total;