我有一個日期排序數組。我想從特定的開始日期到特定的結束日期,並且每次在數組中找到給定日期時都會增加一個變量。我試着用下面的代碼片段:PHP的週期與DateTime對象
$result = array();
$iterator = 0;
for ($minDateTime = new DateTime($minDate); $minDateTime <= new DateTime($maxDate); $minDateTime->add(new DateInterval('P01D'))) {
if ($minDateTime = $myDateArray[$iterator]) {
$iterator++;
}
array_push($result, "$minDateTime=>$iterator");
}
如果我要運行該代碼,我得到了以下錯誤:
Fatal error: Call to a member function add() on a non-object in /home/pivoecom/public_html/teszt/query_test.php on line 34
其中線34的開口的週期。我閱讀了DateTime的參考,我確信它有一個add方法。我試圖在循環之外添加這一行,並且它工作...我做錯了什麼?
這似乎相當令人費解。雖然看起來這個方法看起來是邏輯錯誤http://stackoverflow.com/questions/9282287/what-can-go-wrong-when-adding-months-with-a-dateinterval-and-datetimeadd,這似乎是更令人費解。如果你將這個'add'呼叫轉移到循環之外,你確定它有效嗎? – verisimilitude
我確定。我嘗試過,因爲我的網絡服務器有一個太舊的PHP的想法。但它的工作。 – zsidanyi