我有以下数组
Array
(
[2013-08-12] => Array
(
[count] => 0
)
[2013-08-11] => Array
(
[count] => 5
)
[2013-08-10] => Array
(
[count] => 0
)
[2013-08-09] => Array
(
[count] =>3
)
[2013-08-08] => Array
(
[count] =>0
)
[2013-08-07] => Array
(
[count] =>0
)
)
现在这实际上是一个总计。因此,在我的视图文件中,我需要以这样一种方式显示计数,即如果可用则显示非零值,否则为零。
在这种情况下,计数从2013-08-08开始,因此可以在它之前的日期显示0。但是对于之后的日期,如果没有日期计数,则需要显示先前的计数。
因此,对于2013-08-10,它需要将计数显示为3和12应该是。这是一些用户注册的总数,因此如果一个日期的计数为零,则需要显示该日期的总计。我怎样才能做到这一点 ?
答案 0 :(得分:0)
这是非常基本的:
只需遍历您的数组,将计数值添加到正在运行的总计中,并显示该运行总计:
$runningTotal = 0;
foreach($myArray as $key => $value) {
echo $key, ' => ';
$runningTotal += $value['count'];
echo $runningTotal, PHP_EOL;
}
但请确保您的阵列先排序
ksort($myArray);
修改强>
根据您的评论:
$runningTotal = 0;
foreach($myArray as $key => $value) {
echo $key, ' => ';
$runningTotal += $value['count'];
echo ($value['count'] > 0) ? $value['count'] : $runningTotal;
echo PHP_EOL;
}
编辑#2
根据后续评论:
$runningTotal = 0;
foreach($myArray as $key => $value) {
echo $key, ' => ';
$runningTotal = ($value['count'] > 0) ? $value['count'] : $runningTotal;
echo $runningTotal, PHP_EOL;
}