显示数组的最后一个非零值

时间:2013-05-23 02:27:05

标签: php arrays iteration

我有以下数组:

Array (
[2013-04-01] Array(
  [total_count]=>0
  [total_users]=>0
)
[2013-03-30] Array(
  [total_count]=>0
  [total_users]=>0
)
[2013-03-29] Array(
  [total_count]=>100
  [total_users]=>110
)
[2013-03-28] Array(
  [total_count]=>0
  [total_users]=>96
)
)

我正在使用此数组显示所有日期的运行总计。因此,如果值为零,那么它应该显示索引数组的最后一个非零值,即2013-04-01的情况,因为total_count的值为零,它必须显示2013年的值-03-29。我试图显示上一个日期的值,但它总是不正确,因为在某些情况下,前一个日期的值也为零。

我的代码是:

foreach($total_array as $date=>$value){
 echo $date;
 $prev_date=date("Y-m-d",strtotime("-1 days $date"));
 $prev_cont=$total_array[$prev_date]['total_count'];
 echo ($value['total_count'])?$value['total_count']:(($prev_cont)?$prev_cont:0)
}

我在最后一部分中给出了混淆,它给出为零。如果prev_count也为零,那么如何找到最后一个非零值?

0 个答案:

没有答案