2016-10-24 3 views
0

Я использую функцию strtotime, но мне нужна также дата начала, которая будет включена в список массивов , здесь приведен фрагмент кодаЯ использую функцию strtotime, но мне нужна также дата начала, чтобы быть включенной в список массивов

while (strtotime($startDate) <= strtotime($newEnddate)) { 
      $newStartDate = date ("Y-m-d", strtotime("+1 day", strtotime($startDate))); 
      $dates = array(
       'startdate' => $newStartDate, 
       'enddate' => $newStartDate 
      ); 
      //$this->ddc_get_res($dates); 
      $startDate = $newStartDate; 
     } 

то результатом этого является

array (
    'startdate' => '2016-10-16', 
    'enddate' => '2016-10-16', 
)array (
    'startdate' => '2016-10-17', 
    'enddate' => '2016-10-17', 
)array (
    'startdate' => '2016-10-18', 
    'enddate' => '2016-10-18', 
)array (
    'startdate' => '2016-10-19', 
    'enddate' => '2016-10-19', 
)array (
    'startdate' => '2016-10-20', 
    'enddate' => '2016-10-20', 
)array (
    'startdate' => '2016-10-21', 
    'enddate' => '2016-10-21', 
)array (
    'startdate' => '2016-10-22', 
    'enddate' => '2016-10-22', 
)array (
    'startdate' => '2016-10-23', 
    'enddate' => '2016-10-23', 
)array (
    'startdate' => '2016-10-24', 
    'enddate' => '2016-10-24', 
) 

но мой ожидаемый результат этого

array (
'startdate' => '2016-10-15', 
     'enddate' => '2016-10-15' 
    (
    'startdate' => '2016-10-16', 
    'enddate' => '2016-10-16', 
    )array (
     'startdate' => '2016-10-17', 
     'enddate' => '2016-10-17', 
    )array (
    'startdate' => '2016-10-18', 
    'enddate' => '2016-10-18', 
)array (
    'startdate' => '2016-10-19', 
    'enddate' => '2016-10-19', 
)array (
    'startdate' => '2016-10-20', 
    'enddate' => '2016-10-20', 
)array (
    'startdate' => '2016-10-21', 
    'enddate' => '2016-10-21', 
)array (
    'startdate' => '2016-10-22', 
    'enddate' => '2016-10-22', 
)array (
    'startdate' => '2016-10-23', 
    'enddate' => '2016-10-23', 
)array (
    'startdate' => '2016-10-24', 
    'enddate' => '2016-10-24', 
) 

любых идей по этому спасибо вам признательна за любую помощь доступной

+0

Пожалуйста перефазируют ваш вопрос также дает начальные значения переменных в контексте. – Arvind

ответ

0

Я думаю, что это то, что вы ищете, все, что вам нужно сделать, это переместить ваш перед вычислением следующей даты:

while (strtotime($startDate) <= strtotime($newEnddate)) { 
    $dates = array(    // moved line 
     'startdate' => $startDate, // changed 
     'enddate' => $startDate // changed 
    ); 
    $this->ddc_get_res($dates); // moved line 

    $newStartDate = date ("Y-m-d", strtotime("+1 day", strtotime($startDate))); 
    $startDate = $newStartDate; 
} 
+0

его все еще выходы +1 к дате начала –

+0

Каковы начальные значения '$ startDate' и' $ newEnddate'? – Arvind