如何在PHP中的2个不同日期内制作15天串数组?

问题描述:

下面是我想要的php输出。如何在PHP中的2个不同日期内制作15天串数组?

假设我在函数中传递了两个不同的日期。

可以说,我通过“01/01/2016 to 07/25/2016”进入功能

function bunch_days15($date1, $date2){ 
} 

我如何获得15天以下结果集?

array{ 

    [0] => { 

      [0] 01/01/2016 
      [1] 01/15/2016 
     } 

    [1] => { 

     [0] 01/16/2016 
     [1] 01/31/2016 
    } 

    [2] => { 

      [0] 02/01/2016 
      [1] 02/15/2016 

     } 

    [3] => { 

     [0] 02/16/2016 
     [1] 02/28/2016 
    } 
} 

而且洙

请让我知道通过我通过2个不同的日期常用的功能,它会在一堆15天结果返回数组。

+0

有效的函数名以字母或下划线开始,后面跟上任意数量的字母,数字或下划线。因此,将你的函数15daysBunch($ date1,$ date2)'改为有效的函数。 –

+0

完成。感谢您的更新.. –

+0

@montupepavanshi 1 + 15应该是16再怎么15?同样17 + 15 – Thamilan

function daysBunch($date1, $date2){ 
    $temp_date = $date1; 
    $days = array(); 
    $i = 0; 
    while(1){ 
     $next_date = date('m/d/Y', strtotime("$temp_date +14 days")); 
     if(strtotime($next_date) > strtotime($date2)){ 
      break; 
     } 
     $days[$i][] = $temp_date; 
     $days[$i][] = $next_date; 
     $temp_date = date('m/d/Y', strtotime("$next_date +1 days")); 
     $i++; 
    } 
    return $days; 
} 

$d1 = "01/01/2016"; 
$d2 = "07/25/2016"; 
var_dump(daysBunch($d1, $d2)); 

N.B:对于开始日期01/1/2016它会给你01/15/2016类似于01/16/2016它将显示01/30/2016。

+0

让我知道,如果这对你有用:) –

+0

一些最后的日子不来计算..我不想在同一阵列中的不同月份。谢谢 –

这里是我的功能

function bunch_days15($date1, $date2){ 

$startDate = new DateTime($date1); 
$endDate = new DateTime($date2); 
$mArray = array(); 

while ($startDate <= $endDate) 
{ 
    $row = array(); 
    $row[] =$startDate->format("Y-m-01"); 
    $row[] = $startDate->format("Y-m-15"); 

    $mArray[] = $row; 

    $row = array(); 
    $row[] = $startDate->format("Y-m-16"); 
    $row[] = $startDate->format("Y-m-t"); 

    $mArray[] = $row; 

    $startDate = $startDate->modify('first day of next month');; 
} 
return $mArray; 

}

print_r(bunch_days15('2015-01-01','2016-06-08')); 
+0

它应该从年份开始独立。年份可能是2015年或2014年左右。这将只在2016年工作..!它应该工作在我通过的任何一年.. –

+0

检查我的功能的这个修改后的版本 –

+0

我想知道它的工作。谢谢 ! –