Использование массивов с классом Calendar в CodeIgniter

Я пытаюсь создать довольно сложный массив для моего приложения календаря. Он должен содержать даты, с именем дня, «типом» и событиями, если таковые имеются. Я добрался до этого:

[dates] { [22] { [day] => [Friday] [type] => [weekday] } [23] { [day] => [Saturday] [type] => [Weekend] } [24] { [day] => [Sunday] [type] => [Weekend] } } 

Теперь я хотел бы добавить еще один ключ, называемый «события». Я хочу добавить события для каждого дня в массив. Поэтому я мог бы получить что-то вроде:

  [24] { [day] => [Sunday] [type] => [Weekend] [events] { [1] { [title] => [test event] [description] => [my event] [date] => [24-04-2011] } [2] { [title] => [test event 2] [description] => [my second event] [date] => [24-04-2011] } } 

Не уверен, что это имеет смысл.

Я создал первый пример, используя этот код:

  for($i = 1; $i <= $data['days_in_curr_month']; $i++) { $day_info = $this->get_day_info($i, $data['current_month'], $data['current_year']); $dates[$i]['name'] = $day_info['day_name']; $dates[$i]['type'] = $day_info['day_type']; } return $dates; 

Затем я хотел захватить информацию о событии, выполнив:

$event_info = $this->get_event_info($i, $data['current_month'], $data['current_year']);

в том же для цикла.

Мой метод get_event_info выглядит так:

  public function get_event_info($day, $month, $year) { $date = $year . "-" . $month . "-" . $day; $this->db->where('date', $date); $this->db->where('user_id', '1'); $query = $this->db->get('tblEvents'); $event_info = array(); foreach($query->result() as $row) { $event_info['events'][$row->id]['title'] = $row->title; $event_info['events'][$row->id]['description'] = $row->description; } return $event_info; } 

Он выводит такие массивы:

 Array ( [events] => Array ( [1] => Array ( [title] => Project 2 [description] => Test: Project 2 ) [2] => Array ( [title] => Illustrator [description] => Test: Illustrator 2 ) ) ) 

Теперь я возвращаю $ event_info из get_events_info create_dates_list метод create_dates_list , но я не уверен, как я собираюсь добавить свои массивы событий в массив $ date.

Get_event_info получает события для каждой даты (1 – конец месяца-). Затем я хочу добавить их в мой массив $ date в формате, указанном выше в моем втором примере.

Я смущен, потому что это довольно сложные массивы. Заранее спасибо.

Я думаю, все, что вам нужно сделать (например):

  $append_events = get_event_info($day, $month, $year); $array['dates']['1']['event'] = $append_events['events']; 

Затем вы можете получить доступ к своим элементам:

  $array['dates']['1']['event'][$id]['title'] $array['dates']['1']['event'][$id]['description']