我不想要返回DATE(Y-m-d)。
我需要打印所有日期,直到某一天独立于月份或年份。
我试过[$ array as $ i] - [$ array as $ key]并且没有用。
$ myday(例如= 19)
返回$ days
会导致:
阵列
[0] => 20个
[1] => 21个
[2] => 22个
[3] => 23个
...
[31] => 31 || [30] => 30 || [28] => 28个
我需要$ days的每个值来将每个值与另一个字段进行比较。
没有尝试将$ myday用作常规号而不是将其视为日期。而不是使用strtotime,mktime ....
编辑
需要像这样简单的东西:
$output = array();
for ($i=$myday+1;$i<=31 || $i<=30 || $i<=28;$i++) {
$output[] = $i;
}
但是print_r不会这样做,我需要返回每个值以在不同的条件
中使用答案 0 :(得分:2)
使用DateTime()
,DateInterval()
,DatePeriod()
和relative date formats可轻松完成此操作。
$start = (new DateTime())->setDate(date('Y'), date('m'), $myday + 1);
$end = new DateTime('first day of next month');
$interval = new DateInterval('P1D');
$period = new DatePeriod($start, $interval, $end);
$days = array();
foreach($period as $date) {
$days[] = $date->format('d');
}
结果
Array
(
[0] => 20
[1] => 21
[2] => 22
[3] => 23
[4] => 24
[5] => 25
[6] => 26
[7] => 27
[8] => 28
[9] => 29
[10] => 30
[11] => 31
)