迭代一年中所有本月最后一天的日期

问题描述 投票:0回答:1

我之前问过这个问题,但我错误地删除了该问题,因此将其重新发布为另一个问题。

if (isset($_REQUEST['Receipts'])) {
    $params['Date'] = '31 Jan 2000';
    $response = $Auth->request('GET', $Auth->url('Receipts/Travel', 'core'), $params);
    if ($Auth->response['code'] == 200) {
        $receipt = $Auth->parseResponse($OAuth->response['response'], $Auth->response['format']);
        pr($receipt->Receipts);
    } else {
        outputError($Auth);
    }
}

这段代码为我提供了 2000 年 1 月 31 日的旅行收据,现在我想包含一个 foreach 循环,以便我可以获得 2000 年整整 12 个月的旅行收据,例如

28 Feb 2000
31 Mar 2000
等等,直到
31 Dec 2000

我是初学者,因此尝试了以下基本的 foreach 循环,但它不起作用,因为我知道我放错了逻辑。

if (isset($_REQUEST['Receipts'])) {
    $months = array(" 31 Jan 2000"," 28 Feb 2000"," 31 Mar 2000","30 Apr 2000","31 May 2000","30 Jun 2000","31 Jul 2000"," 31 Aug 2000","30 Sep 2000","31 Oct 2000","30 Nov 2000","31 Dec 2000");
    foreach ($months as $month){
        $params['Date'] = '31 Jan 2000';
        $response = $Auth->request('GET', $Auth->url('Receipts/Travel', 'core'), $params);
        if ($Auth->response['code'] == 200) {
            $receipt = $Auth->parseResponse($OAuth->response['response'], $Auth->response['format']);
            pr($receipt->Receipts);
        } else {
            outputError($Auth);
        }
    }
}

有没有什么方法可以不直接将月份值[ 2000 年 1 月 31 日”、“ 2000 年 2 月 28 日”、“ 2000 年 3 月 31 日”...] 存储在数组中,代码本身应该针对不同的月份递增。因为提供了所有一年的月份值是一种硬编码,而对于其他年份,我需要经常编辑它。

php loops date
1个回答
1
投票

您使用了

foreach
但一定忘记将其插入
$params
变量中。

foreach ($months as $month){
   $params['Date'] = $month;
...
}

它能解决问题吗?

© www.soinside.com 2019 - 2024. All rights reserved.