I have an array of hospital which doctors are visiting at different time of weekdays eg:
Array
(
  [0] => stdClass Object
      (
        [id] => 40
        [doctorid] => 58
        [hospitalid] => 1
        [weekday] => 2
        [starttime] => 09:30
        [stime] => PM
        [endtime] => 11:00
        [etime] => PM
        [randomkey] => 
      )
  [1] => stdClass Object
      (
        [id] => 41
        [doctorid] => 58
        [hospitalid] => 1
        [weekday] => 2
        [starttime] => 02:01
        [stime] => PM
        [endtime] => 04:02
        [etime] => PM
        [randomkey] => 
      )
 [2] => stdClass Object
      (
        [id] => 39
        [doctorid] => 58
        [hospitalid] => 1
        [weekday] => 3
        [starttime] => 09:30
        [stime] => AM
        [endtime] => 11:00
        [etime] => AM
        [randomkey] => 
      )
  [3] => stdClass Object
      (
        [id] => 38
        [doctorid] => 58
        [hospitalid] => 1
        [weekday] => 3
        [starttime] => 06:30
        [stime] => PM
        [endtime] => 09:30
        [etime] => PM
        [randomkey] => 
      )
  [4] => stdClass Object
      (
        [id] => 7
        [doctorid] => 58
        [hospitalid] => 2
        [weekday] => 2
        [starttime] => 09:30
        [stime] => AM
        [endtime] => 05:00
        [etime] => PM
        [randomkey] => rKkEU6cTWWN4ZxCw
      )
  [5] => stdClass Object
      (
        [id] => 8
        [doctorid] => 58
        [hospitalid] => 3
        [weekday] => 2
        [starttime] => 09:30
        [stime] => AM
        [endtime] => 05:00
        [etime] => PM
        [randomkey] => rKkEU6cTWWN4ZxCw
      )
  [6] => stdClass Object
      (
        [id] => 9
        [doctorid] => 58
        [hospitalid] => 23
        [weekday] => 2
        [starttime] => 09:30
        [stime] => AM
        [endtime] => 06:00
        [etime] => PM
        [randomkey] => rKkEU6cTWWN4ZxCw
      )
    )
I want the array in the following JSON tree format first order by hospital, days then time Eg:
    {
"Hospital": [
    {
        "doctorid": "58",
        "hospitalid": "1",
        "day": [
            {
                "weekday": 2,
                "time": [
                    {
                        "starttime": "9:30",
                        "stime": "AM",
                        "endtime": "11:00",
                        "etime": "PM"
                    },
                    {
                        "starttime": "2:01",
                        "stime": "PM",
                        "endtime": "04:02",
                        "etime": "PM"
                    }
                ]
            },
            {
                "weekday": 3,
                "time": [
                    {
                        "starttime": "9:30",
                        "stime": "AM",
                        "endtime": "11:00",
                        "etime": "PM"
                    },
                    {
                        "starttime": "6:30",
                        "stime": "PM",
                        "endtime": "09:30",
                        "etime": "PM"
                    }
                ]
            }
        ]
    },
    {
        "doctorid": "58",
        "hospitalid": "2",
        "day": [
            {
                "weekday": 2,
                "time": [
                    {
                        "starttime": "9:30",
                        "stime": "AM",
                        "endtime": "05:00",
                        "etime": "PM"
                    }
                ]
            }
        ]
    },
    {
        "doctorid": "58",
        "hospitalid": "3",
        "day": [
            {
                "weekday": 2,
                "time": [
                    {
                        "starttime": "9:30",
                        "stime": "AM",
                        "endtime": "05:00",
                        "etime": "PM"
                    }
                ]
            }
        ]
    },
    {
        "doctorid": "58",
        "hospitalid": "23",
        "day": [
            {
                "weekday": 3,
                "time": [
                    {
                        "starttime": "9:30",
                        "stime": "AM",
                        "endtime": "06:00",
                        "etime": "PM"
                    }
                ]
            }
        ]
    }
]
}
I have tried to breakdown using foreach loop but can't solve it after hospital level. A generic functions will be helpful.
