PHP foreach循环/ json_encode问题

时间:2016-07-21 20:19:28

标签: php arrays json

我正在尝试从字符串创建JSON对象。我是PHP的新手,我应该使用数组做这个,但我不知道如何在循环中嵌套数组。我遇到问题的数组部分是创建一个日期数组。使用json_encode后,仅显示最后一个日期对象。如果我回显字符串,那么所有日期都在那里。起初我尝试将循环变量附加到键上,但是当它显然被带入iOS时它可以正常运行,因此我无法附加循环变量。这是我的代码。任何帮助或指导将不胜感激。

date_default_timezone_set('America/Los_Angeles');   
$timezone = date_default_timezone_get();         

$date1 = new DateTime($item['startdate']['S']);
$date2 = new DateTime($item['enddate']['S']);
$date = new DateTime(date('m/d/Y'));
$interval = DateInterval::createFromDateString('1 day');
$period = new DatePeriod($date, $interval, $date2);

$to_time = date('H:i:s', strtotime($item['endtime']['S']));
$from_time = date('H:i:s a', time());
$loop = round(abs($to_time - $from_time));
$dv = 0;
foreach ($period as $dt) {
    if ($dv == 30) break;
    $spaces .= "\"dates\": {\"date\":\"" . $dt->format('m-d-Y') . "\",";

    $spaces .= "\"timeslots\":{";
    for ($i = 0;$i <= $loop; $i++) {
        $spaces .=  "\"timeslot" . $i . "\":\"" . date('H', time() + ($i*3600)) . ":00" . "\",";
    } 
    $spaces = substr($spaces,0,-1);
    $spaces .= "}},";
    $dv++;
}

0 个答案:

没有答案