我在使用 php 的 Web 服务中发现了一个问题,我的数据库中有一个事件(一条记录),持续了多天,例如,
2013-09-17 00:00:00 to 2013-09-20 23:59:59
四天,我想用四个不同的日期打印四次,比如,
event_date = 2013-09-17 00:00:00
event_date = 2013-09-18 00:00:00
event_date = 2013-09-19 00:00:00
event_date = 2013-09-20 00:00:00
但它总是打印最后一个日期,我循环打印 json 对象四次,它工作正常,但总是打印每个对象的最后一个日期,
我的预期输出应该是,
{
"id": "472",
"event_date": "2013-09-17 00:00:00",
"event_type": "MULTIPLE_DAYS",
"multiple_days_start_date": "2013-09-17 00:00:00",
"multiple_days_end_date": "2013-09-20 23:59:59"
}, {
"id": "472",
"event_date": "2013-09-18 00:00:00",
"event_type": "MULTIPLE_DAYS",
"multiple_days_start_date": "2013-09-17 00:00:00",
"multiple_days_end_date": "2013-09-20 23:59:59"
}, {
"id": "472",
"event_date": "2013-09-19 00:00:00",
"event_type": "MULTIPLE_DAYS",
"multiple_days_start_date": "2013-09-17 00:00:00",
"multiple_days_end_date": "2013-09-20 23:59:59"
}, {
"id": "472",
"event_date": "2013-09-20 00:00:00",
"event_type": "MULTIPLE_DAYS",
"multiple_days_start_date": "2013-09-17 00:00:00",
"multiple_days_end_date": "2013-09-20 23:59:59"
},
这是我的 json 对象输出,
{
"id": "1",
"event_date": "2013-09-19 00:00:00",
"event_type": "MULTIPLE_DAYS",
"multiple_days_start_date": "2013-09-17 00:00:00",
"multiple_days_end_date": "2013-09-20 23:59:59"
}
这是我的代码,
(foreach $events as $event)
if($event->event_type == 'MULTIPLE_DAYS') {
$mul_start_date = substr($event->multiple_days_start_date, 8,2);
$mul_end_date = substr($event->multiple_days_end_date, 8,2);
for($mul_start_date; $mul_start_date<=$mul_end_date;) {
$event->event_date = substr_replace($event->multiple_days_start_date, $mul_start_date, 8,2);
$events[] = $event;
$mul_start_date++;
}
}
echo json_encode($events);
请任何帮助,