我正在重新编码web服务中的一些json对象,我在本地测试,所有东西都很好,
但是当我将它上传到实时服务器上时,它将我的数组更改为包含索引为的所有abject的单个对象,
encoded result live server会产生解析错误,
这是我的代码
foreach ( $events as $eventkey => $event ) {
if ( $event->recurring_type == "DAILY" ) {
$date = new DateTime( $event->recurring_start_date );
$new_event = $event;
if ( $event->recurring_start_date < $event->recurring_end_date ) {
while ( $new_event->recurring_start_date < $new_event->recurring_end_date ) {
$new_event->event_date = $new_event->recurring_start_date;
$events[] = (array) $new_event;
$new_event->recurring_start_date = $date->modify('+1 day')->format('Y-m-d H:i:s');
}
} else {
unset( $events[$eventkey] ); // used to avoid duplicate result with same data event_date,
}
}
如果我删除此行
unset( $events[$eventkey] );
然后,结果在网上看起来也很好。但我需要这个!
我无法理解确切的问题!
请帮忙
答案 0 :(得分:1)
使用unset(),您的数组将成为关联数组,因此在JSON中编码为对象。
我的两分钱:而不是unset(),在循环之后使用array_filter()。
答案 1 :(得分:1)
<?php
$arr = array('a' , 'b' , 'c' , 'd' , 'e' );
unset($arr[0]);
echo json_encode($arr);//here o/p as object {"1":"b","2":"c","3":"d","4":"e"}
$arr= array_values($arr);
echo json_encode($arr);//["b","c","d","e"]