public function scores($playerID) { //we should have a get payload. $level = $_GET['level']; $ids = explode(',', $_GET['ids']); $scores = array(); if ($level === 0) { return array(); } $playerModel = new PlayerModel(); if (count($ids)) { foreach ($ids as $key => $val) { $friendPlayerID = $playerModel->getPlayerIDFromUID($val, null, false); if ($friendPlayerID != "") { $data = $playerModel->getPlayerLevelScore($friendPlayerID[0], $level); if ($data) { if ($data->score != "") { $scores[$key] = array('uid' => $val, 'score' => (int) $data->score, 'name' => $data->first_name); } else { $scores[$key] = array('uid' => $val, 'score' => 0, 'name' => $data->first_name); } } } } } //add my own score cuz. why not. $mydata = $playerModel->getPlayerLevelScore($playerID, $level); if ($mydata) { $uid = $playerModel->getUidFromPlayerId($playerID); $scores[] = array('uid' => $uid, 'score' => $mydata->score, 'name' => $mydata->first_name); } usort($scores, $this->make_comparer(['score', SORT_DESC])); //$scores =array_multisort($scores, SORT_DESC, $ids); $this->printJson($scores); }