php通过某个日期段的周几,获取选中周几对应的日期

最近在做课程表的项目里用到了这个,有个日期段,选择好周几之后,想获取在这个日期段内选中的星期对应的日期,如下图,代码如下

 

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;
}
原文地址:https://www.cnblogs.com/zxf100/p/10239207.html