$profiles = array(); // iterate user answers foreach ($userAnswers as $userAnswer) { $profile = $questions['answers'][$userAnswer['question_id']][$userAnswer['answer_id'] - 1]['profile']; if (!isset($profiles[$profile])) { $profiles[$profile] = 0; } $profiles[$profile]++; } // max count $maxCount = 0; // user profile $userProfile = ''; // get profile with max count foreach ($profiles as $profile => $count) { if ($maxCount < $count) { $userProfile = strtolower($profile); $maxCount = $count; // update profile in response and session $result->profile = $userProfile; $_SESSION['profile'] = $result->profile; } } // update user profile $userModel = new \Model\User(); $userModel->update(array('profile' => $result->profile), $sessUser->getId()); } } } // print result echo json_encode($result);