доброго времени форум. есть код дающий лвл ап для юзера но при приближении к уровню выдает ошибку Undefined index: level. Сам код: Код (Text): /** * Проверяет апнулся ли юзер, и возвращает объект уже с новыми данными * @param type $user * @param type $user_params * @return boolean * @throws CHttpException */ public static function checkXP($user, $user_params) { $max_xp = self::maxXP($user->level); if ($user_params['xp'] >= $max_xp && $user->level <= 15) { $user_params['level'] += 1; $params = Users::calcParam($user->id_user); $user_params['health_now'] = $params->totalHealth*2; $user_params['energy_now'] = $params->totalEnergy*2; $log = new BattleLog(); $log->battle_type = $user->battle_type; $log->battle_id = $user->battle_id; $log->id_user = $user->id_user; $log->type = 6; $log->info = 2; $log->users = Users::getUsersForLog($user->id_user); $log->save(false); } elseif ($user_params['xp'] >= $max_xp && $user->level == 15) { $user_params['xp'] = $max_xp - 1; } return $user_params; } В чем может быть косяк?
Из приведённого не видно как добывается фактическое значение для параметра $user_params. По факту там не оказалось индекса 'level'. Пожалуйста не надо вываливать всю программу. Что непонятно? Значения нет — ищи где вызывается функция, что за данные в неё передаются. Отлаживайся.
В том что индекс level не существует. Серьёзно! --- Добавлено --- 9 строка, var_dump( $user ); смотри какие свойства доступны