我之前问过这个问题,但我错误地删除了该问题,因此将其重新发布为另一个问题。
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 日”...] 存储在数组中,代码本身应该针对不同的月份递增。因为提供了所有一年的月份值是一种硬编码,而对于其他年份,我需要经常编辑它。
您使用了
foreach
但一定忘记将其插入 $params
变量中。
foreach ($months as $month){
$params['Date'] = $month;
...
}
它能解决问题吗?