先看代码在说话 case1 定义的$time['begin']和$time['end']作为取值数组没问题,奇怪的问题出现在case2中,值是正常取到的,但是赋值到$time['begin']和$time['end']出现了报错 Illegal string offset 'begin' ,一番检查无果,只能把这两个值重新定义为数组,($time1 = strtotime(date("Y-m-d",strtotime("$lastday - 6 days"));$time2 = strtotime($lastday);$time = array(begin =>$time1,end => $time2);)
不知道你们会不会出现这个问题,如果发现我的问题请帮忙指正
switch ($type) {
case 1: { // 时间类型日
if(empty($nian) || empty($yue) || empty($ri)){
$now = time();
$nian = date("Y",$now);
$yue = date("m",$now);
$ri = date("d",$now);
}
$time['begin'] = mktime(0,0,0,$yue,$ri,$nian);
$time['end'] = mktime(23,59,59,($yue+1),$ri,$nian);
};
break;
case 2: { // 按周统计
if(empty($nian) || empty($yue) || empty($ri)){
$now = time();
$nian = date("Y",$now);
$yue = date("m",$now);
$ri = date("d",$now);
}
$time = $nian."/".$yue."/".$ri;
$lastday= date("Y-m-d",strtotime("$time Sunday"));
$time['begin'] = strtotime(date("Y-m-d",strtotime("$lastday - 6 days")));
$time['end'] = strtotime($lastday);
// $time = array(begin =>$time1,end => $time2);
};
break;
default: {
return '';
}
}