php tp获取最近七日数据,没有的赋默认值

展示最近7天数据,当中天数没有的时候赋默认值
查询数据是这样,下图
在这里插入图片描述

protected $weeks = ["星期日","星期一","星期二","星期三","星期四","星期五","星期六"];

			$nlist = [];
			// 得到最近7天年月日
			for($i=0;$i<$recent_7_day;$i++){

				$s_time = $startTime + (86400 * $i);
				$recent_date[$i] = date("Y-m-d", $s_time);
				$etime = date("Y-m-d",$s_time + $recent_7_day * 86400 );
				$Stime = date("Y-m-d",$s_time);
				 // 医生挂号时间
                $current_doc_sitschedule = XXX::where("work_time",">=",date("Y-m-d",$s_time))
                    ->where("work_time","<=",$etime)
                    ->where("do_id",$do_id)
                    ->field("id,perioddata,work_time")
                    ->find();
                
                // 是否有排班
                if ($current_doc_sitschedule) {
                    // 获取周几
                    $weekss = date('w', strtotime($current_doc_sitschedule['work_time']));
                    // 重新赋值
                    $current_doc_sitschedule['week'] = $this->weeks[$weekss];
                    $workTime = ['id' => $current_doc_sitschedule['id'], 'day' => $current_doc_sitschedule['work_time'], 'period' => $current_doc_sitschedule['perioddata'], 'week' => $current_doc_sitschedule['week']];

                    if ($current_doc_sitschedule['work_time'] >= $Stime && $current_doc_sitschedule['work_time'] <= $etime) {

                        if (isset($nlist[$Stime])) {
                            $nlist[$Stime] = $workTime;
                        } else {
                            $akl = date('w', strtotime($Stime));
                            // 重新赋值
                            $aklweek = $this->weeks[$akl];
                            if ($current_doc_sitschedule['work_time'] !== $Stime) {
                                $workTime = ['id' => 0, 'day' => $Stime, 'period' => 3, 'week' => $aklweek];
                            }
                            $nlist[$Stime] = $workTime;
                        }
                    }
                }else{
                    $akl = date('w', strtotime($Stime));
                    // 重新赋值
                    $aklweek = $this->weeks[$akl];
                    $workTime = ['id' => 0, 'day' => $Stime, 'period' => 3, 'week' => $aklweek];
                    $nlist[$Stime] = $workTime;
                }

			}
			// 按照 KEY 排序
			ksort($nlist);

循环后
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

时间轴-小文同学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值