я думаю, что лучше всего было бы дать уникальный ключ вашему массиву
Что-то вроде следующего должно работать
$session_activity_category = array();
array_walk($search_venue, function($venue_b) use (&$session_activity_category) {
$categories = $this->users_model->search_categories_by_session($venue_b->activity_venue_id);
foreach ($categories as $category) {
$session_activity_category[$category->venue_id.$category->activity_cat_id] = $category;
}
});
return $this->output
->set_content_type('application/json')
->set_status_header(200)
->set_output(
json_encode(
array(
'activity_category' => array_values($session_activity_category),
'activity' => $session_activity,
'activity_session' => $search_session,
'activity_venue' => $search_venue
),
JSON_UNESCAPED_SLASHES)
);