最近在做課程表的項目里用到了這個,有個日期段,選擇好周幾之后,想獲取在這個日期段內選中的星期對應的日期,如下圖,代碼如下
function getDateByWeek($data) { $start_date = strtotime($data['start_date']); $end_date = strtotime($data['end_date']); $days = ($end_date - $start_date) / 86400; $weekArr = array('周日','周一','周二','周三','周四','周五','周六'); $newDate = array(); // 組建數組格式 $dataWeek['日期'] => 星期 for ($i=0; $i < $days; $i++) { $num_week = date('w',$start_date+($i*86400)); $dateWeek[date('Y-m-d',$start_date+($i*86400))] = $weekArr[$num_week]; } // 查找兩個數組的交集,即獲取提交的星期對應的日期 $newDate=array_intersect($dateWeek,$data['items']); // 獲取數組中的鍵值(日期),並組成一個新數組 $date = array_keys($newDate); return $date; }