我想填充值的數組。該陣列的鍵應爲可讀日期,格式爲「YEAR-MONTH-DAY」。起點是'2010-5-25'。 過程應該退出當前日期。顯然,所有的日期應該是有效的日期。PHP:如何填補日期的數組(Y-M-d)作爲鍵
我想過要做這個循環。但似乎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++; }
}
}
用嵌套循環做這件事會很痛苦。
一個解決方案是使用整數次作爲關鍵字,然後在另一個循環中將它們轉換爲可讀的日期。
有沒有更高效的方法?
這應該是86400,而不是86000. 另外,如果你想日期直到但不包括今天的日期,改變'$ oldDate <=時間()'來'$ oldDate
謝謝@TomRobinson,這是一個打字錯誤:) +1 – MH2K9 2014-12-07 18:12:23