Como retornar vários arrays de uma function no codeigniter?

Estou tendo essa function no meu controlador.

function get_data($year, $month) { $query = $this->db->select('date,name,type')->from('books')->like('date', "$year-$month", 'after')->get(); $data = array(); $data2 = array(); $data3 = array(); foreach ($query->result() as $row) { if ($row->name == 'AA' && $row->type == 'AM') { $data[substr($row->date, 8, 2)] = '
' . $row->name . ' ' . $row->type . '
'; } else if ($row->name == 'AA' && $row->type == 'PM') { $data2[substr($row->date, 8, 2)] = '
' . $row->name . ' ' . $row->type . '
'; } else if ($row->name == 'BB' && $row->type == 'AM') { $data3[substr($row->date, 8, 2)] = '
' . $row->name . ' ' . $row->type . '
'; } } return $data; }

Eu quero recuperar todos os dados que estão em $ dados, $ data1 e $ data2 ao mesmo tempo. É possível fazê-lo?? Se alguém tiver uma ideia, seria uma ajuda para mim.

Do seu código, não sei o resultado que você espera ao combinar todos os dados que estão em $ dados, $ data1 e $ data2.

mas você pode tentar a function array_merge(array1,array2,array3...) se você quiser todos os dados onde a chave começa a partir de 0 e aumenta em 1 para cada valor.

Ou então você pode criar outra matriz com todos os valores de dados, como,

return array("data" => $data, "data1" => $data1, "data2" => $data2)

Deste modo, você pode conseguir o que deseja.

Você pode fazê-lo da seguinte maneira,

 function get_data($year, $month) { $query = $this->db->select('date,name,type')->from('books')->like('date', "$year-$month", 'after')->get(); $data = array(); $data1 = array(); $data2 = array(); foreach ($query->result() as $row) { if ($row->name == 'AA' && $row->type == 'AM') { $data[substr($row->date, 8, 2)] = '
' . $row->name . ' ' . $row->type . '
'; } else if ($row->name == 'AA' && $row->type == 'PM') { $data1[substr($row->date, 8, 2)] = '
' . $row->name . ' ' . $row->type . '
'; } else if ($row->name == 'BB' && $row->type == 'AM') { $data2[substr($row->date, 8, 2)] = '
' . $row->name . ' ' . $row->type . '
'; } } $return['data']=$data; $return['data1']=$data1; $return['data2']=$data2; return $data; }

você pode acessar em exibição como variável,

 $data['index'], $data1['index'], $data2['index'] 

se você deseja fundê-los então,

 array_merge($data,$data1,$data2);