PHP获取周一至周日的日期列表

PHP获取周一至周日的日期列表,php,Php,我想得到一份给定年份的日期列表,格式如下: array:4 [▼ "04" => "25 Jan 2016 - 31 Jan 2016" "03" => "18 Jan 2016 - 24 Jan 2016" "02" => "11 Jan 2016 - 17 Jan 2016" "01" => "4 Jan 2016 - 10 Jan 2016" ] 数组键显示周数。数组值显示日期 如果给定的年份等于当前年份,那么我只希望它显示当前一周之前的日期 如何

我想得到一份给定年份的日期列表,格式如下:

array:4 [▼
  "04" => "25 Jan 2016 - 31 Jan 2016"
  "03" => "18 Jan 2016 - 24 Jan 2016"
  "02" => "11 Jan 2016 - 17 Jan 2016"
  "01" => "4 Jan 2016 - 10 Jan 2016"
]
数组键显示周数。数组值显示日期

如果给定的年份等于当前年份,那么我只希望它显示当前一周之前的日期


如何实现这一点?

此用户定义的
getDates()
函数以周数和年为输入,将返回所需的结果

<?php

echo "<pre>";
print_r(getDates('4', '2016'));
echo "</pre>";


function getDates($weekNumber, $year) {
    $returnArr = array();

    for($i=$weekNumber; $i >= 1; $i--) {
        $wno = $i<=9 ? "0".$i : $i;

        $calStr = $year . "W" . $wno;

        $startDate = date('d M Y',strtotime($calStr));

        $endDate = date('d M Y', strtotime($startDate. ' + 6 day'));

        $weekDays = $startDate . ' - ' . $endDate;

        $returnArr[$wno] = $weekDays;
    }

    return $returnArr;
}

到目前为止,你已经尝试了什么?请阅读,你必须证明你已经做出了一些努力来解决你自己的问题。没有人会给你写完整的算法,你必须自己做一些事情可能重复的
Array
(
    [04] => 25 Jan 2016 - 31 Jan 2016
    [03] => 18 Jan 2016 - 24 Jan 2016
    [02] => 11 Jan 2016 - 17 Jan 2016
    [01] => 04 Jan 2016 - 10 Jan 2016
)