我有以下数组:
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也为零,那么如何找到最后一个非零值?