2015-08-29 2 views
-1
// get date this week 

$W = date('W',strtotime(date('Y-m-d'))); 
$sunday = date(datetime::ISO8601, strtotime(date('Y') . "W" . $W . "0")); 
$this_week = date('Y-m-d',strtotime($sunday)); 
echo $this_week; 

//looping for get all date this week 

for ($i=1; $i <= 6; $i++) { 
    $date=date_create("$this_week"); 
    date_add($date,date_interval_create_from_date_string("$i days")); 

    $date_week[] = date_format($date,"Y-m-d"); //value array 
    $event[] = "dinner"; // value array 
    $start[] = "start"; // key array 
    $title[] = "title"; // key array 

} 

Я хочу изменить его в JSON, как этотКак объединить 4 массивов в один

 { 
      title: 'dinner', 
      start: '2015-08-24' 
     }, 
     { 
      title: 'dinner', 
      start: '2015-08-25' 
     }, 
     { 
      title: 'dinner', 
      start: '2015-08-26' 
     }, 
     { 
      title: 'dinner', 
      start: '2015-08-27' 
     }, 
     { 
      title: 'dinner', 
      start: '2015-08-28' 
     }, 
     { 
      title: 'dinner', 
      start: '2015-08-29' 
     } 
+2

Используйте 'array_combine()' – aldrin27

ответ

0

я думаю, что это лучше, хорошо ... = Это еще в зацикливание.

$output[] = [ 
    'tile' => 'Dinner', 
    'start' => $date_week 
]; 

Это все еще в цикле. , затем в json_encode.

0

Вам не нужно комбинировать все эти массивы. Вы можете создать структуру данных, которую все в одном простом цикле

$W = date('W',strtotime(date('Y-m-d'))); 
$sunday = date(datetime::ISO8601, strtotime(date('Y') . "W" . $W . "0")); 
$this_week = date('Y-m-d',strtotime($sunday)); 


$result = array(); 

for ($i=1; $i <= 6; $i++) { 
    $date=date_create($this_week); 
    date_add($date,date_interval_create_from_date_string("$i days")); 

    $result[] = array('title' => 'dinner', 'start' => date_format($date,"Y-m-d")); 
} 

echo json_encode($result); 

В результате

[ 
    {"title":"dinner","start":"2016-11-21"}, 
    {"title":"dinner","start":"2016-11-22"}, 
    {"title":"dinner","start":"2016-11-23"}, 
    {"title":"dinner","start":"2016-11-24"}, 
    {"title":"dinner","start":"2016-12-25"}, 
    {"title":"dinner","start":"2016-12-26"} 
]