我想在我的项目中显示当前月份的过去 10 个月。我试过这个
<?php
$months = array();
for ($i=1; $i<11; $i++) {
$months[$i."_".date('Y', strtotime('-'.$i.' Month'))] = date('M', strtotime('-'.$i.' Month'));
}
它给了我
Array
(
[1_2016] => Jun
[2_2016] => May
[3_2016] => Apr
[4_2016] => Mar
[5_2016] => Feb
[6_2016] => Jan
[7_2015] => Dec
[8_2015] => Nov
[9_2015] => Oct
[10_2015] => Sep
)
但是index
month
不就是错的,我想要这个
Array
(
[6_2016] => Jun
[5_2016] => May
[4_2016] => Apr
[3_2016] => Mar
[2_2016] => Feb
[1_2016] => Jan
[12_2015] => Dec
[11_2015] => Nov
[10_2015] => Oct
[9_2015] => Sep
)
我认为这就是你想要的
$dateArray = array();
for ($i=1; $i<=10; $i++) {
$dateArray[date('m_Y', strtotime("-$i month"))] = date('M', strtotime("-$i month"));
}
print_r($dateArray);
输出
Array
(
[06_2016] => Jun
[05_2016] => May
[04_2016] => Apr
[03_2016] => Mar
[02_2016] => Feb
[01_2016] => Jan
[12_2015] => Dec
[11_2015] => Nov
[10_2015] => Oct
[09_2015] => Sep
)
而不是$i
$months[$i."_".
您需要使用date
函数,例如
$months[date('n',strtotime('-'.$i.' Month'))."_"
只需使用日期格式和月份减去时间
$months = array();
for ($i=1; $i<11; $i++) {
$months[date('n_Y', strtotime('-'.$i.' Month'))] = date('M_Y', strtotime('-'.$i.' Month'));
}
var_dump($months);
日期格式
Y - 一年的四位数表示
n - 月份的数字表示形式,不带前导零(1 到 12)
M - 一个月的简短文本表示(三个字母)