gpt4 book ai didi

php - 显示运行总计和先前的值

转载 作者:搜寻专家 更新时间:2023-10-31 21:37:33 25 4
gpt4 key购买 nike

我有一个这样的数组

Array
(
[2013-03-12] => Array
(
[total_clicks] => 2266
[total_unique_clicks] => 177
)

[2013-03-19] => Array
(
[total_clicks] => 2647
[total_unique_clicks] => 241
)

[2013-03-20] => Array
(
[total_clicks] => 2656
[total_unique_clicks] => 245
)
)

现在我使用下面的代码来显示值

$current=strtotime($from);
$last=strtotime($to);
while($last >= $current){
$current_date=date("Y-m-d",$last);
echo $daily_click[$current_date]['total_unique_clicks'];
$last=strtotime("-1 day",$last);
}

这是显示值,但如果日期没有值,比如“2013-03-18”,我需要显示索引为 2013-03-12 且值为 177 的数组中的先前值. 它实际上是一个运行总计,所以我需要为没有值的其他日期显示它。也就是说,它应该显示以前的计数,直到它被更改。我该怎么做?

我需要这个日期顺序,因为我需要从最新日期开始显示并递减

最佳答案

// get an array of the recorded dates in descending order
$descDateOrder = $daily_click;
ksort($descDateOrder);
$descDateOrder = array_keys(array_reverse($descDateOrder));

$current=strtotime($from);
$last=strtotime($to);

// initialize to the most recent date <= $last
$prev_key = 0;
for($i = 0; $i < count($descDateOrder); $i++) {
if (strtotime($descDateOrder[$i]) <= $last) {
$prev_key = $i;
break;
}
}

while($last >= $current) {
$current_date=date("Y-m-d",$last);

if ($descDateOrder[$prev_key] == $current_date) {
// use oldest date if we go past it (could break instead, to stop)
$prev_key = min(count($descDateOrder) - 1, $prev_key + 1);
} else {
$current_date = $descDateOrder[$prev_key];
}

echo $daily_click[$current_date]['total_unique_clicks'];

$last=strtotime("-1 day",$last);
}

关于php - 显示运行总计和先前的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15516839/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com