【发布时间】:2015-02-05 09:05:16
【问题描述】:
我想用值填充一个数组。该数组的键应该是格式为“YEAR-MONTH-DAY”的可读日期。起点是“2010-5-25”。 该过程应在当前日期中止。显然,所有日期都应该是有效日期。
我想过做这个循环。但似乎 PHP 无法在“for”循环中检查多个条件。不过,它没有给我任何警告或错误。
for ($d = 25, $m = 5, $y = 2010,
$this_day = date('j'),
$this_month = date('n'),
$this_year = date('Y');
($y <= $this_year) && ($m <= $this_month) && ($d <= $this_day);
$d++)
{
$values[$y.'-'.$m.'-'.$d] = 0; //fill array
$d++;
if(!checkdate($m, $d, $y)){
$d = 1;
$m++;
if($m > 12) { $m = 1; $y++; }
}
}
用嵌套循环这样做会很痛苦。
一种解决方案是使用整数时间作为键,然后稍后在另一个循环中将它们转换为可读日期。
有没有更有效的方法?
【问题讨论】: