Почему моя рекурсивная функция не работает? - PullRequest
2 голосов
/ 18 февраля 2010
$startDate = 20130201;
$date      = 20130505;
$aDates    = $this->getDates($startDate, $date);

public function getDates($startDate, $date) {
    $tmpStartDate = date("Ymd", strtotime($startDate.'+1 Day'));
    $tmpEndDate   = date("Ymd", strtotime($tmpStartDate.'+1 Month'));

    if($date >= $tmpStartDate && $date <= $tmpEndDate) {
        //return array('startDate' => $tmpStartDate, 'endDate' => $tmpEndDate);
    } else {
        $this->getDates($tmpEndDate, $date);
    }
}

1 Ответ

8 голосов
/ 18 февраля 2010

Если вызывается} else {, от рекурсивного вызова ничего не возвращается.

Попробуйте раскомментировать вашу закомментированную строку и добавить «return» в начало этого предложения else:

return $this->getDates($tmpEndDate, $date);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...