【发布时间】:2016-10-22 00:37:27
【问题描述】:
我必须用访客人数填写图表,但是,当显示当前周数据时,我将下一天的值设为 0。
EG:今天是星期一,所以我得到 2016-06-20 作为列值,但下一个列值名称是 0,因为我没有接下来几天的数据。
图表索引必须是这样的:
|| 20 Jun 2016 || 21 Jun 2016 || 22 Jun 2016 || 23 Jun 2016 || etc.
现在我得到了这个:
|| 20 Jun 2016 || 1 Jan 1970 || 1 Jan 1970 || 1 Jan 1970 || etc.
所以我尝试使用此函数填充缺失的日期:
function get_day($count) {
if ($count == NULL) {
$dweek = date("w");
for ($i = 1; $i <= 6; $i++) {
echo $i;
switch ($i) {
case 1:
$day = $dweek+1;
break;
case 2:
$day = $dweek+2;
break;
case 3:
$day = $dweek+3;
break;
case 4:
$day = $dweek+4;
break;
case 5:
$day = $dweek+5;
break;
case 6:
$day = $dweek+6;
break;
}
}
$current = date("d M Y",strtotime("+$day day"));
} else {
$current = date("d M Y",strtotime($count));
}
return $current;
}
但现在我得到了:
|| 20 Jun 2016 || 27 Jun 2016 || 27 Jun 2016 || 27 Jun 2016 || etc.
所以我错过了一些东西,但是 2 小时后我看不到该怎么做。
感谢您的帮助。
【问题讨论】:
-
在
switch()内部返回是个坏主意,一个函数只能返回一个值一次。 -
所以为了简化:你有一个开始日期,只需要生成该开始日期之后的六天?
-
你的逻辑有点不对。请输入您正在调用并使用此功能的代码。我会解决的。
-
@jszobody 完全正确。
-
@andreaem,我不明白你为什么要返回 $day。所以,我需要更多的代码。您可以更新您的问题