PHP を使用する Web サービスで問題が見つかりました。データベースにイベント (1 つのレコード) があります。
2013-09-17 00:00:00 to 2013-09-20 23:59:59
4日間、4つの異なる日付で4回印刷したいのですが、
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オブジェクトを4回印刷するためにループしています.正常に動作しますが、常に各オブジェクトの最後の日付を出力します.
私の期待される出力は、
{
"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);
助けてください、