php获取最近n个月每月的开始时间和结束时间,然后将结果组成数组。
/**
 * 获取某一个时间点之前 N 个月每月的开始时间和结束时间
 * @param int $recent 月数
 * @param int $time 截止时间
 * @return array
 */
function getRecentMonth($recent = 6, $time = 0) {
    !$time && $time = time();
    $list = [];
    for ($i = $recent; $i > 0; --$i) {
        $t = strtotime("-$i month", $time);
        $list[] = explode('/', date('Y-m-01', $t) . '/' . date('Y-m-', $t) . date('t', $t));
    }
    return $list;
}
print_r(getRecentMonth(2, strtotime('2018-6')));
输出:
    Array
(
    [0] => Array
        (
            [0] => 2018-04-01
            [1] => 2018-04-30
        )
        [1] => Array
        (
            [0] => 2018-05-01
            [1] => 2018-05-31
        )
)