添加新的键值不起作用

时间:2018-06-14 20:03:25

标签: php arrays json

这是我的json link,它存储在名为$onceBooking的变量中。

我想计算总预订天数。如果booking数组为空,则添加total_days = 0但是如果它不为空,那么我将计算唯一booking_slots并将它们添加到主数组中。我得到了正确的计数但是当我将它添加到main时它会向我显示此错误。 enter image description here

        $data = json_decode($onceBooking);
    for ($i = 0; $i < count($data); $i++) {
        if (count($data[$i]->bookings) == 0) {
            $data[$i]->total_days = 0;
        } else {
            $bookings = $data[$i]->bookings;
            for ($j = 0; $j < count($bookings); $j++) {
                $booking_slots = $bookings[$j]->booking_slots;
                $final_array = array();
                $uniquekeys = array();
                foreach ($booking_slots as $key => $data) {
                    if (!in_array($data->date, $uniquekeys)) {
                        $uniquekeys[] = $data->date;
                        $final_array[$key] = $data;
                    }
                }
            }
            $data[$i]->total_days = count($final_array);
        }
    }
    return $data;

1 个答案:

答案 0 :(得分:3)

通过添加true作为第二个参数,将您的调用更改为json_decode()以返回数组。

// change this
$data = json_decode($onceBooking);

// to this
$data = json_decode($onceBooking, true);